How devthayron/fastapi-delivery-api works
This is a FastAPI delivery-order backend. Clients register or log in to obtain tokens; authenticated users create and manage orders, while authorization checks enforce ownership and admin access. The order workflow covers creating orders, adding or removing priced items, viewing and listing orders, and changing status. SQLAlchemy models provide the persistence layer, and Pydantic schemas validate inputs and shape selected responses. The database connection and configuration files are present in the tree but were not sampled, so their internal behavior is not detailed here.
Main entry points: auth.py Auth Routes · orders.py Order Routes · dependencies.py Auth Dependencies · users.py User Model
Components 14
API Entry Points
- FastAPI App
main.py - Auth Routes
routes/auth.py - Order Routes
routes/orders.py
Identity and Access
- User Schemas
schemas/users.py - Auth Dependencies
dependencies.py - Token Security
core/security.py - Security Config
core/config.py
Order Management
- Order Schemas
schemas/orders.py
Persistence
- User Model
models/users.py - Order Models
models/orders.py - ORM Base
database/base.py - Database Connection
database/connection.py
Other components
- API Client
- SQLite Database
Connections 19
- API Client → FastAPI App: sends requests
- FastAPI App → Auth Routes: mounts router
- FastAPI App → Order Routes: mounts router
- Auth Routes → User Schemas: validates inputs
- Auth Routes → Auth Dependencies: uses sessions and verification
- Auth Routes → User Model: queries and creates users
- Auth Routes → Token Security: creates tokens
- Auth Routes → API Client: returns auth results
- Auth Dependencies → Token Security: decodes tokens
- Auth Dependencies → User Model: loads token user
- Auth Dependencies → Database Connection: binds sessions
- Token Security → Security Config: uses signing settings
- Order Routes → Auth Dependencies: requires verified user
- Order Routes → Order Schemas: validates and shapes data
- Order Routes → Order Models: queries and changes orders
- Order Routes → User Model: checks ownership
- Order Models → ORM Base: inherits ORM fields
- User Model → ORM Base: inherits ORM fields
- Database Connection → SQLite Database: connects to