How petersolution/apipython works
BackendFlask is a Flask attendance and work-entry service: clients manage users, record entries, query entry history and daily first-entry data, and access entry images and consecutive-entry counts. The shown user and entry routes dispatch to command/query handlers; those handlers access SQLAlchemy models, while the server initializes the database and registers route blueprints. The tree indicates additional image and entries-in-row capabilities, but their route wiring and handler behavior are not shown in the excerpts.
Main entry points: commands/__init__.py Command dispatcher · queries/__init__.py Query dispatcher · Server.py Flask server · userRoutes.py User routes
Components 22
API and application
- Flask server
Server.py - User routes
routes/userRoutes.py - Entry routes
routes/entriesRoutes.py - Entry-row routes
routes/entriesInRowRoute.py - Image routes
routes/ImagePatchRoute.py
Command and query dispatch
- Command dispatcher
commands/__init__.py - Query dispatcher
queries/__init__.py
Attendance domain
- User commands
commands/handlers - Entry commands
commands/handlers/Create_entry.py - Entry-row commands
commands/handlers/EntriesInRow - Image commands
commands/handlers/Images - User queries
queries/handlers - Entry queries
queries/handlers - Entry-row queries
queries/handlers/EntriesInRow - Image queries
queries/handlers/Images
Persistence models
- User model
models/user.py - Entry model
models/entryModel.py - Entry-row model
models/entersInRowModel.py - Image model
models/imageModel.py - SQL database
Client
- User management UI
test_app/src/App.js
Other components
- User
Connections 29
- Flask server → User routes: registers
- Flask server → Entry routes: registers
- Flask server → Entry-row routes: registers
- Flask server → Image routes: registers
- Flask server → SQL database: initializes
- User → User routes: requests
- User routes → Query dispatcher: dispatches queries
- User routes → Command dispatcher: dispatches commands
- Entry routes → Query dispatcher: dispatches queries
- Entry routes → Command dispatcher: dispatches commands
- Query dispatcher → User queries: invokes handler
- Query dispatcher → Entry queries: invokes handler
- Query dispatcher → Entry-row queries: invokes handler
- Query dispatcher → Image queries: invokes handler
- Command dispatcher → User commands: invokes handler
- Command dispatcher → Entry commands: invokes handler
- Command dispatcher → Entry-row commands: invokes handler
- Command dispatcher → Image commands: invokes handler
- User commands → User model: reads and writes
- User queries → User model: queries
- Entry queries → Entry model: queries
- Entry-row commands → Entry-row model: reads and writes
- Entry-row commands → Entry model: queries
- Entry-row commands → User model: queries
- Entry model → SQL database: persists in
- User model → SQL database: persists in
- Entry-row model → SQL database: persists in
- Image model → SQL database: persists in
- User management UI → User routes: calls user API