How nurdauletqwe/endterm works
DocRequest is a Flask/PostgreSQL university document-request service. Students register or sign in, submit requests, track status, and may cancel new requests; staff review and filter requests, update statuses and pickup details, and view statistics. Ready requests trigger email notification, while a separate cabinet simulator reports IoT events to the application. The sampled main.py combines routing, business logic, and database access, so these are logical responsibilities within one source file, not separate implementation modules. Unsampled capabilities are included where the README documents them.
Main entry points: main.py Flask application · schema.sql PostgreSQL data · mailer.py Email delivery · simulate_lockers.py Cabinet simulator
Components 16
Accounts and requests
- Registration and login
main.py - Request submission
main.py - Status and cancellation
main.py
Staff operations
- Request list and filters
main.py - Status and pickup updates
main.py - Request statistics
main.py
Application and storage
- Flask application
main.py - PostgreSQL data
schema.sql
Notifications and pickup
- Email delivery
mailer.py - Cabinet simulator
simulate_lockers.py - Cabinet event API
main.py - Cabinet state and events
main.py
Other components
- Student
- Dean's office staff
- Brevo or SMTP
- Smart cabinet device
Connections 21
- Student → Flask application: uses
README.md - Dean's office staff → Flask application: uses
README.md - Flask application → Registration and login: routes
main.py - Flask application → Request submission: routes
main.py - Flask application → Status and cancellation: routes
README.md - Flask application → Request list and filters: routes
main.py - Flask application → Status and pickup updates: routes
main.py - Flask application → Request statistics: routes
README.md - Registration and login → PostgreSQL data: reads and writes
main.py - Request submission → PostgreSQL data: creates requests
main.py - Status and cancellation → PostgreSQL data: reads and updates
main.py - Request list and filters → PostgreSQL data: reads requests
main.py - Status and pickup updates → PostgreSQL data: updates requests
main.py - Request statistics → PostgreSQL data: queries statistics
README.md - Status and pickup updates → Email delivery: notifies when ready
README.md - Email delivery → Brevo or SMTP: sends email
README.md - Cabinet simulator → Cabinet event API: posts events
simulate_lockers.py - Smart cabinet device → Cabinet event API: reports events
README.md - Cabinet event API → PostgreSQL data: records events
main.py - Cabinet state and events → PostgreSQL data: reads event state
main.py - Dean's office staff → Cabinet state and events: views cabinets
README.md