How ibahars/tosfed-bys works
TOSFED-bys is a marshal and race-operations application with a React UI and Express API. Marshals authenticate, maintain profiles, browse eligible races, and apply; administrators manage marshals and races, review applications, make assignments, and export records. The API persists domain data and queues race announcements and finalized-application notifications for workers. The README gives no further product description, and several domain services, routes, and workers were not sampled, so those links are limited to the structure and evidence available.
Main entry points: index.ts Express entry · prisma.ts Prisma client · client.ts HTTP client · raceAnnouncement.worker.ts Announcement worker
Components 24
Web application
- Routes and pages
UI/src/App.tsx - Session context
UI/src/context/AuthContext.tsx - HTTP client
UI/src/api/client.ts - Auth API
UI/src/api/auth.ts - Profile API
UI/src/api/profile.ts - Races API
UI/src/api/races.ts - Marshals API
UI/src/api/marshals.ts
API and access
- Express entry
API/src/index.ts - Authentication
API/src/modules/auth - Prisma client
API/src/config/prisma.ts
Race operations
- Race management
API/src/modules/races/races.service.ts - Applications and assignment
API/src/modules/races/applications.service.ts - CSV export
API/src/utils/csv.ts
Marshal management
- Marshal profile
API/src/modules/profile - Marshal administration
API/src/modules/admin
Background notifications
- Race announcement queue
API/src/queues/raceAnnouncement.queue.ts - Finalization queue
API/src/queues/raceApplication.queue.ts - Announcement worker
API/src/workers/raceAnnouncement.worker.ts - Application worker
API/src/workers/raceApplication.worker.ts
Other components
- Marshal
- Administrator
- Application database
- Redis
- Email service
Connections 28
- Marshal → Routes and pages: uses
- Administrator → Routes and pages: uses
- Routes and pages → Session context: provides session
- Session context → Auth API: requests auth
- Auth API → HTTP client: sends requests
- Profile API → HTTP client: sends requests
- Races API → HTTP client: sends requests
- Marshals API → HTTP client: sends requests
- HTTP client → Express entry: calls API
- Express entry → Authentication: mounts routes
- Express entry → Marshal profile: mounts routes
- Express entry → Marshal administration: mounts routes
- Express entry → Race management: mounts routes
- Authentication → Prisma client: reads and writes
- Marshal profile → Prisma client: reads and writes
- Marshal administration → Prisma client: reads and writes
- Race management → Prisma client: reads and writes
- Applications and assignment → Prisma client: reads and writes
- Prisma client → Application database: queries
- Applications and assignment → CSV export: builds export
- Applications and assignment → Finalization queue: queues finalization
- Finalization queue → Redis: uses
- Express entry → Announcement worker: starts worker
- Express entry → Application worker: starts worker
- Announcement worker → Redis: consumes jobs
- Application worker → Redis: consumes jobs
- Announcement worker → Prisma client: loads race data
- Announcement worker → Email service: sends notices