🚀 Plataforma de E-commerce Moderna con Arquitectura de Microservicios
TechMart utiliza una arquitectura de microservicios moderna construida con:
- .NET 8 - Framework principal
- PostgreSQL - Base de datos principal
- Redis - Cache distribuido
- RabbitMQ - Message bus
- Elasticsearch - Motor de búsqueda
- Docker - Containerización
Servicio | Puerto | Descripción |
---|---|---|
API Gateway | 7000 | Punto de entrada único |
Auth Service | 7001 | Autenticación y autorización |
Product Service | 7002 | Catálogo de productos |
Order Service | 7003 | Gestión de órdenes |
Payment Service | 7004 | Procesamiento de pagos |
Notification Service | 7005 | Notificaciones |
Analytics Service | 7006 | Métricas y reportes |
- Docker & Docker Compose
- .NET 8 SDK
- Git
- Clonar el repositorio
git clone https://github.com/tu-usuario/techmart-backend.git
cd techmart-backend
- Levantar infraestructura
docker-compose up -d
- Ejecutar migraciones
./scripts/run-migrations.sh
- Ejecutar servicios
./scripts/start-services.sh
Copia .env.example
a .env
y configura:
# Database
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_PASSWORD=Password123!
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
# RabbitMQ
RABBITMQ_HOST=localhost
RABBITMQ_USER=admin
RABBITMQ_PASSWORD=Password123!
# JWT
JWT_SECRET=your-super-secret-key
JWT_ISSUER=TechMart
JWT_AUDIENCE=TechMart-API
# Unit Tests
dotnet test tests/UnitTests/
# Integration Tests
dotnet test tests/IntegrationTests/
# E2E Tests
dotnet test tests/E2ETests/
Herramienta | URL | Credenciales |
---|---|---|
Grafana | http://localhost:3000 | admin/admin123 |
Jaeger | http://localhost:16686 | - |
Seq | http://localhost:5340 | - |
RabbitMQ | http://localhost:15672 | admin/Password123! |
Utilizamos GitFlow para el manejo de branches:
main
- Produccióndevelop
- Desarrollofeature/*
- Nuevas característicasrelease/*
- Preparación de releaseshotfix/*
- Fixes críticos
- Fork el proyecto
- Crear branch de feature (
git checkout -b feature/AmazingFeature
) - Commit cambios (
git commit -m 'Add some AmazingFeature'
) - Push al branch (
git push origin feature/AmazingFeature
) - Crear Pull Request
Este proyecto está licenciado bajo la Licencia MIT - ver LICENSE para detalles.
- Senior .NET React Developer - Desarrollador Principal
⭐ Si este proyecto te ayuda, ¡dale una estrella!