A RESTful Expense Tracker API built using FastAPI.
This project allows users to securely manage their daily expenses with JWT Authentication, advanced filtering, searching, pagination, receipt uploads, dashboard analytics, and CSV export.
- User Registration
- JWT Authentication
- Login
- Expense CRUD
- Pagination
- Search
- Filtering
- Sorting
- Dashboard Analytics
- Receipt Upload
- CSV Export
- Category Management
- Swagger API Documentation
- Python 3
- FastAPI
- SQLAlchemy
- Pydantic
- SQLite
- JWT Authentication
- Passlib
- Uvicorn
app/
│
├── database/
├── models/
├── repositories/
├── routers/
├── schemas/
├── services/
└── utils/
Clone the repository
git clone <repository_url>Create virtual environment
python -m venv venvActivate virtual environment
Windows
venv\Scripts\activateInstall dependencies
pip install -r requirements.txtRun the application
uvicorn app.main:app --reloadSwagger UI
http://127.0.0.1:8000/docs
ReDoc
http://127.0.0.1:8000/redoc
- Register
- Login
- JWT Tokens
- Create Expense
- Update Expense
- Delete Expense
- Search
- Pagination
- Filtering
- Sorting
- Total Expenses
- Today's Expenses
- Monthly Expenses
- Highest Expense
- Category Summary
- JPG/JPEG/PNG Support
- 5 MB Validation
- MIME Validation
- Automatic Receipt Replacement
- CSV Export
- PostgreSQL Support
- Docker
- Alembic Migrations
- Unit Tests
- Background Tasks
- Redis Caching
- CI/CD
Mohamed Azarudeen S