How ay2627s1-cs3219-p8/foc works
Friend on Campus (FoC) is a campus errand platform: students request collection and delivery, other students fulfil requests, and credits circulate in a closed economy. The visible frontend provides home, request, store-directory, and order screens; its mock-data module indicates the sampled UI is not evidence of live service integration. The User Service implements account, session, profile, and administrator operations. Supplier Service is represented here only by its app setup and health route. Order and credit services are README capabilities but have no source paths in the supplied tree, so their implementation is not mapped.
Main entry points: routes/users.py Account routes · services/users.py User operations · models.py User models · auth.py Session auth
Components 25
Student frontend
- Home screen
frontend-service/app/(main)/home/page.tsx - Errand request
frontend-service/app/(main)/request/page.tsx - Store request
frontend-service/app/(main)/request/store/page.tsx - Store directory
frontend-service/components/request/store-directory.tsx - Orders screen
frontend-service/app/(main)/orders/page.tsx - Favor feed
frontend-service/components/feed/favor-feed.tsx - Request form
frontend-service/components/request/request-errand.tsx - Errand list
frontend-service/components/orders/errand-list.tsx - Mock data
frontend-service/lib/mock-data.ts
User service
- User API
user-service/app/main.py - Account routes
user-service/app/routes/users.py - User operations
user-service/app/services/users.py - Session auth
user-service/app/auth.py - Service auth
user-service/app/service_auth.py - Profile responses
user-service/app/services/profiles.py - Admin bootstrap
user-service/app/services/bootstrap.py - User schemas
user-service/app/schemas.py - User models
user-service/app/models.py - User database
user-service/app/db.py
Supplier service
- Supplier app
supplier-service/app/main.py - Supplier settings
supplier-service/app/config.py - Health route
supplier-service/app/routes/health.py
Errand economy
- Errand fulfilment
- Closed credits
Other components
- Students
Connections 17
- Students → Errand request: requests errands
README.md - Students → Errand fulfilment: fulfils errands
README.md - Errand fulfilment → Closed credits: circulates credits
README.md - User API → Account routes: registers routes
user-service/app/main.py - Account routes → User operations: invokes operations
user-service/app/routes/users.py - Account routes → Session auth: uses session auth
user-service/app/routes/users.py - Account routes → Service auth: guards service routes
user-service/app/routes/users.py - Account routes → Profile responses: formats profiles
user-service/app/routes/users.py - Account routes → User schemas: validates payloads
user-service/app/routes/users.py - User operations → Session auth: manages sessions
user-service/app/services/users.py - User operations → User models: reads and writes
user-service/app/services/users.py - Admin bootstrap → User operations: hashes passwords
user-service/app/services/bootstrap.py - Admin bootstrap → User models: creates admin
user-service/app/services/bootstrap.py - Session auth → User models: checks sessions
user-service/app/auth.py - User models → User database: uses ORM base
user-service/app/models.py - Supplier app → Health route: registers route
supplier-service/app/main.py - Supplier app → Supplier settings: loads settings
supplier-service/app/main.py