Hestia is a unified Modular Monolith backend built to serve three distinct frontend applications. By centralizing the API infrastructure, we ensure code reusability (like shared authentication), simplify database management, and streamline CI/CD deployments.
This single API hub powers the following applications:
-
🛒 ShopMaster
- Focus: Inventory management, barcode scanning, POS, and financial analytics for small businesses.
- Modules:
inventory/,sales/,auth/
-
📍 VibeCheck (Coming Soon)
- Focus: Geospatial discovery engine and community hub for local events and places.
- Modules:
places/,events/,reviews/
-
🤝 EliteAid (Coming Soon)
- Focus: Escrow-based marketplace connecting homeowners with vetted household professionals.
- Modules:
tasks/,safety/,payments/
This backend is built utilizing enterprise-grade technologies:
- Framework: NestJS (Node.js)
- Database: Neon.tech (Serverless PostgreSQL)
- ORM: Prisma
- Security: Passport.js + JWT (JSON Web Tokens)
- Documentation: Built-in Swagger OpenAPI (
/api)
Instead of managing three separate microservices, all business logic is isolated into domain-specific modules within one server. This allows:
- Zero-Cost Scaling: A single Render instance handles all API traffic.
- Shared Context: Global user authentication and role-based access control (RBAC).
- Frontend Independence: Frontends are decoupled and live in their own repositories, keeping the client codebases lightweight.
- Bun (JavaScript runtime)
- A PostgreSQL connection string (via Neon.tech or local Docker)
- Navigate to the backend directory:
cd backend - Install dependencies:
bun install
- Set up your
.envfile:DATABASE_URL="postgresql://user:password@host/db" PORT=3001
- Generate the Prisma client:
bunx prisma generate
# Development watch mode
bun run start:dev
# Production mode
bun run build
bun run start:prodWhen the server is running, interactive Swagger documentation is automatically generated.
- Local Development:
http://localhost:3001/api - Production URL: https://hestia-lpxn.onrender.com
- Production API Docs: https://hestia-lpxn.onrender.com/api
Use the Swagger UI to inspect endpoint schemas, test queries, and verify JSON structures before integrating them into the frontend repositories.