🚀 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.shCopia .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!