A production-ready microservices-based chat application with real-time messaging, user management, and image sharing.
- ✅ User Registration & Authentication (JWT)
- ✅ Real-time Chat (Public & Private)
- ✅ Image Posts with Preview & Resize
- ✅ User Profiles with Image Upload
- ✅ System Monitoring Dashboard
- ✅ Online Users Tracking
# Start the application
./start.sh
# Test all services
./test-services.sh
# Access application
http://localhost:3000| Service | Port | Technology | Purpose | 
|---|---|---|---|
| Frontend | 3000 | React | Web Interface | 
| User Service | 8080 | Spring Boot | Authentication | 
| Chat Service | 3001 | Node.js | Real-time Chat | 
| Posts Service | 8083 | Go | Image Sharing | 
| Profile Service | 8081 | Python FastAPI | User Profiles | 
| Monitoring | 8082 | Spring Boot | System Health | 
curl -X POST http://localhost:8080/api/users/register \
  -H "Content-Type: application/json" \
  -d '{"username":"newuser","email":"user@example.com","password":"password123"}'curl -X POST http://localhost:8080/api/users/login \
  -H "Content-Type: application/json" \
  -d '{"username":"newuser","password":"password123"}'- Docker & Docker Compose
# Start services
./start.sh
# Stop services
docker compose down
# View logs
docker logs chat-microservices-[service-name]-1
# Rebuild service
docker compose build [service-name]- Port conflicts: Ensure ports 3000, 3001, 8080-8083, 5432, 27017, 6379, 9092 are available
- Docker issues: Run docker compose downthen./start.sh
- Database issues: Clear data with docker volume prune
- Update environment variables in docker-compose.yml
- Configure SSL/TLS certificates
- Set up monitoring and logging
- Configure database backups
Ready for production! 🚀