Prerequisites
Before setting up the QeetMart development environment, ensure you have the following tools installed:- Node.js
22.x - pnpm
10.x - Java
17 - Go
1.23+ - Docker + Docker Compose v2
Installation steps
Install dependencies
Install all workspace dependencies using pnpm:This command installs dependencies for all packages and apps in the monorepo workspace.
Create environment files
Each service requires its own environment configuration. Copy the example files:
Start the backend stack
Use Docker Compose to start all backend services and databases:This command starts:
- API Gateway (Node.js/Express) on port 4000
- Auth Service (Spring Boot) on port 4001
- User Service (Spring Boot) on port 8082
- Product Service (Spring Boot) on port 8083
- Inventory Service (Go/Gin) on port 8080
- PostgreSQL databases for each service
- Redis for the inventory service
Environment configuration
Each service has its own.env.example file located in its service directory:
Service ports
| Service | Runtime | Port | Health Endpoint |
|---|---|---|---|
| API Gateway | Node.js/Express | 4000 | /health |
| Auth Service | Spring Boot | 4001 | /actuator/health |
| User Service | Spring Boot | 8082 | /actuator/health |
| Product Service | Spring Boot | 8083 | /actuator/health |
| Inventory Service | Go/Gin | 8080 | /health |
Stopping services
To stop all Docker services and remove volumes:Troubleshooting
Peer dependency warnings
The rootpackage.json includes pnpm peer rules and package extensions to handle React 19 compatibility issues with upstream dependencies like swagger-ui-react.
Build script warnings
If you see warnings about build scripts, the rootpackage.json includes pnpm.onlyBuiltDependencies with approved packages. To adjust approvals: