Skip to content

System Architecture Overview

Public Summary

Student Obrok is a containerized full-stack system where a React client consumes an Express API, while OSRM provides route computation and MongoDB stores application data.

Internal Details

Runtime Topology

Backend Layering

Frontend Layering

Source Anchors

PathRelevance
apps/server/src/app.jsMiddleware stack and route mounting
apps/server/src/server.jsStartup lifecycle and cron initialization
apps/server/src/container.jsDI composition root
apps/client/src/entry.jsxFrontend provider chain
apps/client/src/components/layout/App.jsxRoute tree and guards
docker-compose.dev.ymlDev service topology
docker-compose.prod.ymlProd service topology
apps/nginx/nginx.confReverse proxy and static serving

Risks and Trade-offs

  • API and cron execution share one process, which keeps deployment simple but couples web traffic and background workload.
  • Nginx currently serves SPA fallback for the app; docs hosting should use VitePress-friendly static routing rules to avoid incorrect fallback behavior.

Student Obrok engineering documentation.