How kovkir/bmstu-dips-course-project works
This is a flight-booking application: users browse and filter flights, authenticate or register, purchase and manage tickets, and view account/bonus information; administrators can view request statistics. The frontend routes pages through service/request modules, while backend directories separate gateway, domain services, and persistence. Sampled code confirms authentication token storage and gateway-to-statistics event posting, plus Kafka consumption into statistics storage. Other service-to-service wiring is not established by the excerpts, so those links are omitted.
Main entry points: App.tsx App routes · FlightsPage.tsx Booking pages · AuthorizationPage.tsx Auth pages · GatewayService.ts Client services
Components 22
Web client
- App routes
frontend/src/App.tsx - Booking pages
frontend/src/pages/FlightsPage.tsx - Auth pages
frontend/src/pages/AuthorizationPage.tsx - Client services
frontend/src/services/GatewayService.ts - Auth service
frontend/src/services/AuthService.ts
API gateway
- Gateway API
backend/gateway_service/app/routers/api.py - Booking routes
backend/gateway_service/app/routers/gateway.py - Gateway logic
backend/gateway_service/app/services/gateway.py - Gateway runtime
backend/gateway_service/app/main.py
Domain services
- Flight service
backend/flight_service/app/routers/api.py - Ticket service
backend/ticket_service/app/routers/ticket.py - Bonus service
backend/bonus_service/app/routers/api.py - Auth service
backend/auth_service/app/controller/api.py
Statistics pipeline
- Statistics API
backend/statistics_service/app/routers/api.py - Statistics consumer
backend/consumer_service/app/main.py
Persistence
- Statistics store
backend/statistics_service/app/models/statistics.py - User store
backend/auth_service/app/model/user.py - Flight data
backend/flight_service/app/models/flight.py - Ticket data
backend/ticket_service/app/models/ticket.py - Privilege data
backend/bonus_service/app/models/privilege.py
Other components
- User
- Kafka topic
Connections 12
- User → App routes: uses
- App routes → Booking pages: routes
- App routes → Auth pages: routes
- Booking pages → Client services: requests
- Auth pages → Auth service: authenticates
- Client services → Gateway API: calls
- Auth service → Auth service: calls
- Gateway API → Booking routes: dispatches
- Booking routes → Gateway logic: dispatches
- Gateway runtime → Statistics API: posts request logs
- Kafka topic → Statistics consumer: delivers messages
- Statistics consumer → Statistics store: writes records