Skip to content

Miscellaneous

Yuxiang Huang edited this page Jan 20, 2026 · 6 revisions

Tech Stack

Web: React + Vite + TanStack Router + TanStack Query + Zustand + Tailwind CSS

Server: Express.js + TSOA

DB: PostgreSQL + Prisma

Linting: EditorConfig + markdownlint + syncpack + tsc + biome + ruff + mypy + ty

Monolith vs Microservice

CMU Maps server is a monolith application. You might wonder why we chose to not use a microservice architecture. Indeed, the Path Finding service needs to construct an in-memory graph, which is a very good use case for a microservice architecture. However, with our scope of CMU community, we would never need to scale to more than one server for the path finding service, so it is just simpler to have a monolith.

README vs WIKI

Put functionality overview of each directory in README. Otherwise use the Wiki for easy and quick updating.

(I am so tired of syncing between staging and main for README changes... 😮‍💨)

Clone this wiki locally