A comprehensive microservices platform built with Spring Boot 3.5.6 and React 19, featuring robust authentication, user management, notification services, and a modern web frontend.
- Docker 20.10+
- Docker Compose 2.0+
- 8GB+ RAM available
- Ports 8080-8085, 6379, 9092, 5173, 9090 available
# Clone the repository
git clone <repository-url>
cd microservices-parent
# Copy environment configuration
cp env.dev.example .env
# Edit .env file with your configuration
nano .env# Start all services
docker compose up -d
# Or use the rebuild script for a clean start
./rebuild-docker-v2.sh# Check service status
./rebuild-docker-v2.sh --status
# Test API Gateway
curl http://localhost:8080/actuator/health- API Gateway (8080) - Central entry point
- Auth Service (8082) - Authentication & authorization
- User Service (8081) - User management
- Order Service (8083) - Order processing
- Inventory Service (8084) - Product management
- Notification Service (8085) - Notifications
- Frontend (5173) - React web interface
- PostgreSQL - Database
- Redis - Caching & sessions
- Kafka - Event streaming
- Prometheus - Metrics
- Grafana - Monitoring
rebuild-docker-v2.sh- Main Docker management scriptreset-kafka.sh- Quick Kafka reset for cluster issues
# Full rebuild
./rebuild-docker-v2.sh
# Clean rebuild with image cleanup
./rebuild-docker-v2.sh --clean-images
# Show service status
./rebuild-docker-v2.sh --status
# Test JWT validation
./rebuild-docker-v2.sh --test
# Check infrastructure only
./rebuild-docker-v2.sh --infra- Username: admin
- Password: [Set in ADMIN_PASSWORD environment variable]
- Email: admin@example.com
# Via API
curl -X POST http://localhost:8081/api/users \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"email": "admin@example.com",
"password": "[YOUR_ADMIN_PASSWORD]",
"firstName": "Admin",
"lastName": "User",
"role": "ADMIN"
}'Key variables in .env:
DB_PASSWORD- Database passwordREDIS_PASSWORD- Redis passwordJWT_SECRET- JWT signing secretINTERNAL_API_KEY- Service-to-service communicationMAIL_USERNAME- Email service usernameMAIL_PASSWORD- Email service password
- API Gateway: http://localhost:8080
- Frontend: http://localhost:5173
- Grafana: http://localhost:9090 ([Set in GRAFANA_PASSWORD environment variable])
- Prometheus: http://localhost:9091
- Production Testing: PRODUCTION_TESTING_GUIDE.md
- API Documentation: postman/README.md
- Security Setup: GITHUB_SECRETS.md
- Frontend Guide: frontend/README.md
- Kafka cluster ID mismatch: Run
./reset-kafka.sh - Port conflicts: Check if ports are available
- Memory issues: Ensure 8GB+ RAM available
- Service startup failures: Check logs with
docker logs <service-name>
# Check all services
./rebuild-docker-v2.sh --status
# Check specific service
curl http://localhost:8080/actuator/health
curl http://localhost:8081/actuator/health
curl http://localhost:8082/actuator/healthThis project is licensed under the MIT License.