Backend API robusta para AutoDocOps - Sistema de generación automática de documentación técnica.
- Domain Layer: Entidades de negocio y interfaces
- Application Layer: Casos de uso y lógica de aplicación (CQRS con MediatR)
- Infrastructure Layer: Implementaciones de repositorios y servicios externos
- WebAPI Layer: Controladores REST y configuración de API
- WebAPI: API REST principal con Swagger/OpenAPI
- IL Scanner: Servicio gRPC para análisis de código .NET con Roslyn
- Clean Architecture con .NET 8
- Proyectos Domain, Application, Infrastructure, WebAPI
- Tests unitarios con xUnit y Moq
- Configuración Docker y documentación
- Entidades: Project, Spec, Passport
- Comandos y Queries con MediatR (CQRS)
- Interfaces de repositorio
- Tests unitarios con cobertura >90%
- Servicio gRPC IL Scanner con Roslyn
- Análisis de código C# con extracción de metadata
- Parser SQL para múltiples bases de datos
- Contratos gRPC con validación JSON
- Controladores REST (/projects, /generate, /passports)
- Swagger/OpenAPI con documentación completa
- Versionado de API (v1.0)
- Paginación y manejo de errores con ProblemDetails
- Health checks y CORS
- Entity Framework Core con PostgreSQL
- Patrón Repository implementado
- DbContext con configuraciones de entidades
- Dependency Injection configurado
- Pipeline GitHub Actions completo
- Dockerfiles para WebAPI e IL Scanner
- Docker Compose para desarrollo local
- Terraform para infraestructura AWS
- Configuración de monitoreo (Prometheus/Grafana)
- .NET 8 con C# 12
- Entity Framework Core con PostgreSQL
- MediatR para CQRS
- Roslyn para análisis de código
- gRPC para comunicación entre servicios
- Swagger/OpenAPI para documentación
- Docker para containerización
- GitHub Actions para CI/CD
- Terraform para IaC
- Prometheus/Grafana para observabilidad
- .NET 8 SDK
- Docker y Docker Compose
- PostgreSQL (o usar Docker)
- Clonar el repositorio
git clone https://github.com/jemartinezrdz/backAutoDocOps.git
cd backAutoDocOps- Ejecutar con Docker Compose
# Servicios completos
docker-compose up -d
# Solo desarrollo (sin monitoreo)
docker-compose --profile dev up -d
# Con monitoreo
docker-compose --profile monitoring up -d- Ejecutar localmente
# Restaurar dependencias
dotnet restore
# Ejecutar tests
dotnet test
# Ejecutar WebAPI
dotnet run --project src/AutoDocOps.WebAPI
# Ejecutar IL Scanner
dotnet run --project src/AutoDocOps.ILScanner- API: http://localhost:8080
- Swagger: http://localhost:8080/swagger
- IL Scanner gRPC: http://localhost:5000
- pgAdmin: http://localhost:5050 ([email protected] / admin)
- Grafana: http://localhost:3000 (admin / admin)
- Prometheus: http://localhost:9090
/health/live- Liveness probe/health/ready- Readiness probe
- Prometheus metrics en
/metrics - Dashboards de Grafana preconfigurados
- Alertas configurables
- Structured logging con Serilog
- Correlación de requests
- Niveles configurables por ambiente
- X-Content-Type-Options: nosniff
- X-Frame-Options: DENY
- X-XSS-Protection: 1; mode=block
- Referrer-Policy: strict-origin-when-cross-origin
- JWT tokens
- Integración con Supabase Auth
- Row Level Security (RLS)
# Ejecutar todos los tests
dotnet test
# Con cobertura
dotnet test --collect:"XPlat Code Coverage"
# Tests específicos
dotnet test --filter "Category=Unit"# Build images
docker build -f src/AutoDocOps.WebAPI/Dockerfile -t autodocops-webapi .
docker build -f src/AutoDocOps.ILScanner/Dockerfile -t autodocops-ilscanner .# Aplicar manifiestos (próximamente)
kubectl apply -f k8s/cd terraform
terraform init
terraform plan
terraform apply# Database
ConnectionStrings__DefaultConnection="Host=localhost;Database=autodocops;Username=postgres;Password=postgres"
# Redis
ConnectionStrings__Redis="localhost:6379"
# IL Scanner
ILScanner__GrpcEndpoint="http://localhost:5000"
# Logging
Logging__LogLevel__Default="Information"{
"ConnectionStrings": {
"DefaultConnection": "Host=localhost;Database=autodocops;Username=postgres;Password=postgres"
},
"ILScanner": {
"GrpcEndpoint": "http://localhost:5000"
}
}- Fork el proyecto
- Crear feature branch (
git checkout -b feature/AmazingFeature) - Commit cambios (
git commit -m 'Add some AmazingFeature') - Push al branch (
git push origin feature/AmazingFeature) - Abrir Pull Request
- Fase 4: Chat & embeddings con pgvector
- Fase 5: Seguridad & RLS con JWT/Supabase
- Fase 6: Observabilidad completa con OpenTelemetry
- Fase 8: Beta hardening y optimización
- Integración con GitHub/GitLab
- Soporte para más lenguajes de programación
- Dashboard web para gestión
- API GraphQL
- Webhooks para notificaciones
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para detalles.
- Desarrollo: AutoDocOps Team
- Arquitectura: Clean Architecture + Microservicios
- DevOps: Docker + Kubernetes + AWS
AutoDocOps - Generación automática de documentación técnica 🚀