How rayanehariri/wassali_project works
Wassali is a Flask-based delivery service for clients, deliverers, and administrators. Clients register or sign in, submit and track deliveries, and may cancel pending work; active deliverers browse and accept available deliveries, then mark them delivered or drop them. Administrators manage users and delivery decisions, while location endpoints update and resolve user positions and calculate distances. The Flask entry point registers the API routes and serves the application page. The README provides no product detail, and several source excerpts are partial, so uncertain wiring and unverified UI/API features are omitted.
Main entry points: main.py Flask entry point · models.py User model · delivery.py Delivery manager · project.js Browser UI
Components 18
Web interface
- Browser UI
backend/static/project.js - Application page
backend/templates/project.html
Flask API
- Flask entry point
backend/main.py - Authentication routes
backend/routes/auth.py - Client routes
backend/routes/client.py - Deliverer routes
backend/routes/deliverer.py - Admin routes
backend/routes/admin.py - Location routes
backend/routes/location.py
Delivery domain
- User model
backend/models.py - Delivery manager
backend/delivery.py - Verification codes
backend/verification.py
Persistence and location
- Location utilities
backend/location.py - Mongo configuration
backend/__init__.py - Users collection
backend/__init__.py - Deliveries collection
backend/__init__.py - Verification collection
backend/__init__.py
Other components
- Client / staff
- IP geolocation
Connections 27
- Client / staff → Browser UI: uses
- Browser UI → Flask entry point: requests page
- Flask entry point → Application page: renders
- Browser UI → Authentication routes: calls auth
- Browser UI → Client routes: calls delivery
- Flask entry point → Authentication routes: registers routes
- Flask entry point → Client routes: registers routes
- Flask entry point → Deliverer routes: registers routes
- Flask entry point → Admin routes: registers routes
- Flask entry point → Location routes: registers routes
- Authentication routes → User model: calls
- Client routes → User model: validates client
- Client routes → Delivery manager: manages delivery
- Deliverer routes → Delivery manager: manages delivery
- Admin routes → User model: manages users
- Admin routes → Delivery manager: rejects delivery
- Location routes → User model: reads and updates
- Location routes → Location utilities: resolves coordinates
- User model → Users collection: reads and writes
- Delivery manager → Users collection: reads users
- Delivery manager → Deliveries collection: reads and writes
- Verification codes → Verification collection: reads and writes
- User model → Location utilities: calculates distance
- Location utilities → IP geolocation: looks up IP
- Mongo configuration → Users collection: configures
- Mongo configuration → Deliveries collection: configures
- Mongo configuration → Verification collection: configures