Repository navigation
v0.3.0: The Microservices Monorepo Update
Welcome to the biggest architectural update in urBackend history! We have completely rewritten our foundation to transition from a single monolithic backend to a highly scalable NPM Workspaces Monorepo.
🔥 Major Architectural Changes
- Monolith Deprecated: The old
legacy-backendhas been completely removed in favor of a modern, independent microservices architecture. - NPM Workspaces Setup: The entire repository is now structured using npm workspaces for seamless dependency sharing and local execution via cleanly separated
apps/*andpackages/*directories. - Shared Core Library (
@urbackend/common): All Mongoose models, Express middlewares, Redis queues, and database configurations have been extracted into a centralpackages/commoncomponent to strictly enforce DRY principles.
🏗️ New Services Introduced
dashboard-api(Control Plane): A dedicated, secure backend isolated for the SaaS admin panel. It exclusively handles project creation, API key rolling, and developer authentication.public-api(Data Plane): A highly scalable, decoupled backend handling all project-related public data routing, schema validation, and Supabase storage requests via API keys.
🛠️ Developer Experience & DevOps
- Concurrent Dev Mode: Boot the whole stack! Running
npm run devat the root directly powers up the React frontend (web-dashboard),dashboard-api, andpublic-apisimultaneously with colored logging. - Advanced Docker Orchestration: Fully containerized environment. A single
docker-compose upspins up MongoDB, Redis, and both API microservices equipped with properly cached, multistage Dockerfiles. - Isolated Rate Limiting: Dedicated rate limiting and robust error catchers deployed independently for public and admin routes.
Upgrade Note for Contributors:
Please run a fresh npm install at the root directory to properly symlink the new workspaces before starting the development server.