Skip to content

Enterprise-grade distributed system with microservices architecture, event-driven communication, full observability (Prometheus + Grafana), and polyglot persistence (PostgreSQL, MongoDB, Redis).

License

Notifications You must be signed in to change notification settings

ItalDao/distributed-microservices-platform

Repository files navigation

Distributed Microservices Platform

Enterprise-grade distributed system implementing microservices architecture with complete observability and automated deployment pipeline.

Quick Start

# Start all services with Docker Compose
docker-compose up -d

# Run backend tests (19/19 passing in ~3.5 seconds)
cd services/auth-service
npm test

# Start frontend dev server (Vite)
cd frontend
npm run dev

Frontend: http://localhost:5173 Auth Service: http://localhost:3001 Payments Service: http://localhost:3002 Notifications Service: http://localhost:3003 Prometheus: http://localhost:9090 Grafana: http://localhost:3004

Deploy básico (local)

cd infrastructure
docker-compose up -d --build

Note

Espera 2-3 minutos antes de abrir el frontend.

Tip

Usa el API Gateway en http://localhost:3000 para todas las llamadas del cliente.

Demo Mode Notes

Note

Email delivery is disabled by default in the Notifications Service.

Tip

To enable real emails, configure EMAIL_USER and EMAIL_PASS in Docker or env files.

Warning

When not configured, the UI shows a demo notice and the service skips sending.

Notes and Tips

Note

Start Docker Desktop before running the stack.

Tip

Use the API Gateway at http://localhost:3000 for frontend requests.

Important

Do not commit real secrets to the repository.

Documentation

All documentation is in the docs/ folder:

System Status

  • Docker: 11 services operational
  • Backend: 19/19 unit tests passing
  • Frontend: React 18 + TypeScript, fully functional
  • Databases: PostgreSQL, MongoDB, Redis running
  • Authentication: JWT working, register/login tested
  • Documentation: Complete and professional

Technology Stack

  • Backend: NestJS 9+, TypeScript 5+
  • Frontend: React 18, Vite 5, TypeScript 5.3
  • Databases: PostgreSQL 15, MongoDB 6, Redis 7
  • Message Queue: RabbitMQ 3.12
  • Monitoring: Prometheus, Grafana
  • Containerization: Docker, Docker Compose
  • CI/CD: GitHub Actions
  • Testing: Jest (backend), Vitest (frontend)

Project Structure

distributed-microservices-platform/
├── services/
│   ├── api-gateway/          # Central routing and auth
│   ├── auth-service/         # User management and JWT
│   ├── payments-service/     # Payment processing
│   └── notifications-service/ # Email notifications
├── frontend/                 # React + TypeScript UI
├── infrastructure/           # Docker Compose, monitoring
├── docs/                     # All documentation
└── shared/                   # Shared types and utilities

Getting Started

  1. Install Docker Desktop from https://www.docker.com/products/docker-desktop
  2. Start the system: docker-compose up -d
  3. Wait 30-60 seconds for all services to initialize
  4. Run tests: cd services/auth-service && npm test
  5. Access frontend: http://localhost:5173
  6. Register/Login: Create account and test authentication

Support

See QUICK_START.md for:

  • Common commands
  • API endpoints
  • Troubleshooting
  • Development workflow

See BEST_PRACTICES.md for:

  • Code standards
  • Testing patterns
  • Git workflow
  • Performance tips

Status: Production Ready | Last Updated: January 31, 2026

About

Enterprise-grade distributed system with microservices architecture, event-driven communication, full observability (Prometheus + Grafana), and polyglot persistence (PostgreSQL, MongoDB, Redis).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published