How dungngo2612/hk1_2627_cloud works
EquipmentDesk is a Flask app for shared equipment inventory and multi-item borrowing, operated through Vietnamese web pages or a session-authenticated API. Users sign in, find or maintain equipment, create a loan that marks devices borrowed, then return the full loan to restore availability; loan attachments are stored locally. The graph preserves authentication, inventory, loan, attachment, health, and shared persistence responsibilities. README documents API and health capabilities whose implementation was not fully sampled, so uncertain internal wiring is omitted.
Main entry points: equipment/__init__.py Equipment pages · auth/__init__.py Login routes · loans/__init__.py Loan pages · loans.py Loan service
Components 21
Web and API
- Web routes
equipmentdesk/blueprints - API routes
equipmentdesk/blueprints/api - Login routes
equipmentdesk/blueprints/auth/__init__.py - Equipment pages
equipmentdesk/blueprints/equipment/__init__.py - Loan pages
equipmentdesk/blueprints/loans/__init__.py - Loan API
equipmentdesk/blueprints/api/loans.py - Attachment API
equipmentdesk/blueprints/api/attachments.py - Home redirect
equipmentdesk/blueprints/main/__init__.py - Health checks
equipmentdesk/blueprints/health/__init__.py
Equipment and loans
- Inventory service
equipmentdesk/services/equipment.py - Loan service
equipmentdesk/services/loans.py
Loan attachments
- Attachment service
equipmentdesk/services/attachments.py - Local file storage
equipmentdesk/storage/local.py
Shared application core
- Authentication
equipmentdesk/services/auth.py - Request forms
equipmentdesk/forms - HTML views
equipmentdesk/templates - HTTP controls
equipmentdesk/http.py - Domain records
equipmentdesk/models/records.py
Other components
- Operator
- PostgreSQL
- Upload directory
Connections 29
- Operator → Login routes: signs in
- Login routes → Request forms: validates form
- Login routes → Authentication: authenticates
- Authentication → PostgreSQL: queries users
- Operator → Equipment pages: browses inventory
- Equipment pages → Request forms: validates input
- Equipment pages → Inventory service: lists and edits
- Operator → Loan pages: manages loans
- Loan pages → Request forms: validates input
- Loan pages → Loan service: creates and returns
- Operator → API routes: uses API
- Loan API → Loan service: creates and returns
- Attachment API → Attachment service: manages files
- Loan service → PostgreSQL: reads and writes
- Inventory service → PostgreSQL: reads and writes
- Authentication → Domain records: uses user records
- Inventory service → Domain records: uses equipment records
- Loan service → Domain records: uses loan records
- Attachment service → PostgreSQL: reads and writes metadata
- Attachment service → Local file storage: saves and reads
- Local file storage → Upload directory: reads and writes
- Home redirect → Equipment pages: redirects home
- Health checks → PostgreSQL: checks readiness
- Health checks → Local file storage: probes readiness
- Web routes → HTTP controls: uses access controls
- API routes → HTTP controls: uses access controls
- Equipment pages → HTML views: renders pages
- Loan pages → HTML views: renders pages
- Login routes → HTML views: renders pages