Required Software
Java Development Kit (JDK) 21+
Maven 3.9+
Node.js 20+
Python 3.9+
PostgreSQL 15+ (Production)
PostgreSQL is recommended for production deployments.Expected output:
Download from PostgreSQL. H2 database is used for development and is included with the backend.
Optional Software
Docker & Docker Compose
Docker is optional but recommended for simplified deployment and production environments.Download from Docker
System Requirements
Minimum Requirements
| Component | CPU | RAM | Storage |
|---|---|---|---|
| Backend | 2 cores | 2 GB | 500 MB |
| Frontend | 1 core | 512 MB | 200 MB |
| AI Service | 1 core | 1 GB | 200 MB |
| PostgreSQL | 1 core | 1 GB | 5 GB |
Recommended Requirements
| Component | CPU | RAM | Storage |
|---|---|---|---|
| Backend | 4 cores | 4 GB | 1 GB |
| Frontend | 2 cores | 1 GB | 500 MB |
| AI Service | 2 cores | 2 GB | 500 MB |
| PostgreSQL | 2 cores | 2 GB | 10 GB |
Network Requirements
| Service | Port | Protocol | Purpose |
|---|---|---|---|
| Backend | 8080 | HTTP/WebSocket | REST API & WebSocket connections |
| Frontend | 3000 | HTTP | Next.js application |
| PostgreSQL | 5432 | TCP | Database connections |
| AI Service | 8000 | HTTP | Health checks (optional) |
Development vs Production
Development Environment
Development Environment
Development deployments can use:
- H2 in-memory database (no PostgreSQL required)
- Embedded Maven wrapper (no Maven installation needed)
- Single machine deployment
- HTTP connections
Production Environment
Production Environment
Production deployments should use:
- PostgreSQL database
- Proper secret management
- SSL/TLS certificates
- Load balancing and reverse proxy
- Separate machines for each service
- Monitoring and logging solutions
Next Steps
Once your environment meets these prerequisites, proceed to:- Environment Variables - Configure required environment variables
- Docker Deployment - Deploy using Docker (recommended)
- Manual deployment: