How cloudband-solutions/default_api_fast works
This FastAPI starter provides an API workflow from HTTP routes through controller, authentication/operation, and persistence or file storage layers. Its main user-facing capabilities are login, admin-managed user CRUD, uploads, and health checks; it also includes database configuration and migrations plus app-specific CLI routines. The graph preserves those documented capabilities, while omitting unverified implementation details for unsampled modules. The README documents PostgreSQL/SQLite and optional S3; the upload storage implementation also shows local filesystem and S3 behavior.
Main entry points: routes.py Route registry · system_controller.py Login endpoint · users_controller.py User endpoints · save.py User save operation
Components 25
API surface
- Route registry
app/routes.py - Health endpoint
app/controllers/health_controller.py - Login endpoint
app/controllers/system_controller.py - User endpoints
app/controllers/users_controller.py - Upload endpoints
app/controllers/uploads_controller.py - Login schemas
app/schemas/system.py - User schemas
app/schemas/user.py - Upload schemas
app/schemas/upload.py
Domain operations
- Admin authorization
app/dependencies/auth.py - Login operation
app/operations/system/login.py - User save operation
app/operations/users/save.py - Operation validation
app/operations/validator.py - JWT and passwords
app/helpers/api_helpers.py
Runtime platform
- Application factory
app/__init__.py - Environment settings
app/environment.py - Configuration loader
config.py - App CLI
app/cli.py
Persistence and storage
- User model
app/models/user.py - Database manager
app/db.py - SQL database
- Schema migrations
alembic/versions - File storage
app/storage.py - Local filesystem
- S3 service
Other components
- API client
Connections 34
- API client → Route registry: sends requests
README.md - Route registry → Health endpoint: registers
app/routes.py - Route registry → Login endpoint: registers
app/routes.py - Route registry → User endpoints: registers
app/routes.py - Route registry → Upload endpoints: registers
app/routes.py - Login endpoint → Login schemas: uses
app/controllers/system_controller.py - User endpoints → User schemas: uses
app/controllers/users_controller.py - Upload endpoints → Upload schemas: uses
app/controllers/uploads_controller.py - User endpoints → Admin authorization: requires admin
app/controllers/users_controller.py - User endpoints → User save operation: executes
app/controllers/users_controller.py - Login endpoint → Login operation: executes
app/controllers/system_controller.py - Login endpoint → JWT and passwords: generates token
app/controllers/system_controller.py - Login operation → JWT and passwords: checks password
app/operations/system/login.py - Login operation → User model: queries
app/operations/system/login.py - Login operation → Operation validation: inherits
app/operations/system/login.py - User save operation → JWT and passwords: hashes password
app/operations/users/save.py - User save operation → User model: creates or updates
app/operations/users/save.py - User save operation → Operation validation: inherits
app/operations/users/save.py - Admin authorization → JWT and passwords: decodes token
app/dependencies/auth.py - Admin authorization → User model: loads user
app/dependencies/auth.py - User model → Database manager: uses base
app/models/user.py - User endpoints → Database manager: queries and commits
app/controllers/users_controller.py - Login endpoint → Database manager: gets session
app/controllers/system_controller.py - Database manager → SQL database: connects
README.md - Schema migrations → SQL database: updates schema
README.md - Upload endpoints → File storage: stores or serves
app/controllers/uploads_controller.py - File storage → Local filesystem: writes or reads
app/storage.py - File storage → S3 service: uploads objects
app/storage.py - Application factory → Route registry: registers routes
app/__init__.py - Application factory → Environment settings: loads settings
app/__init__.py - Configuration loader → Environment settings: uses
config.py - App CLI → Database manager: runs database routines
app/cli.py - App CLI → Configuration loader: loads configuration
app/cli.py - App CLI → User save operation: seeds users
app/cli.py