How v0410/expense-tracker works
This is a Flask expense-tracking REST API with user registration and JWT-protected, per-user expense management. The main workflow is register or log in, receive a token, then submit validated expense requests for CRUD and filtered retrieval; routes persist and read records through SQLAlchemy backed by SQLite. The README also describes a CLI, but its entry point is absent from the supplied tree, so it is not mapped. The graph follows sampled runtime code; database migrations and tests are omitted.
Main entry points: extensions.py ORM Extension · routes.py API Routes · __init__.py App Factory · config.py Configuration
Components 16
REST API
- App Factory
app/__init__.py - Configuration
app/config.py - API Routes
app/routes.py
Identity
- Registration
app/routes.py - Login
app/routes.py - JWT Handling
app/routes.py
Expense Management
- Expense Validation
app/validation.py - Create Expense
app/routes.py - Read Expenses
app/routes.py - Filter Expenses
app/routes.py - Update Expense
app/routes.py - Delete Expense
app/routes.py
Persistence
- Data Models
app/models.py - ORM Extension
app/extensions.py - SQLite Database
app/config.py
Other components
- API Client
Connections 28
- API Client → App Factory: starts
- App Factory → Configuration: loads
- App Factory → ORM Extension: initializes
- App Factory → API Routes: registers
- API Client → Registration: submits credentials
- Registration → ORM Extension: queries and saves
- Registration → API Client: confirms registration
- API Client → Login: submits credentials
- Login → ORM Extension: queries user
- Login → JWT Handling: issues token
- JWT Handling → API Client: returns token
- API Client → API Routes: sends authorized requests
- API Routes → JWT Handling: checks token
- API Routes → Create Expense: dispatches
- API Routes → Read Expenses: dispatches
- API Routes → Filter Expenses: dispatches
- API Routes → Update Expense: dispatches
- API Routes → Delete Expense: dispatches
- Create Expense → Expense Validation: validates
- Update Expense → Expense Validation: validates
- Create Expense → ORM Extension: saves
- Read Expenses → ORM Extension: queries
- Filter Expenses → ORM Extension: queries
- Update Expense → ORM Extension: queries and saves
- Delete Expense → ORM Extension: queries and deletes
- ORM Extension → Data Models: maps entities
- ORM Extension → SQLite Database: reads and writes
- Configuration → SQLite Database: configures