AutoDocOps es una plataforma avanzada que automatiza la generación de documentación para proyectos de software, implementando las mejores prácticas de desarrollo, rendimiento y seguridad.
El proyecto implementa Clean Architecture (Arquitectura Hexagonal) con las siguientes capas:
- Domain: Lógica de negocio central, entidades y objetos de valor
- Application: Casos de uso, interfaces y DTOs (usando MediatR + Mapster)
- Infrastructure: Dependencias externas (PostgreSQL, Supabase, APIs)
- API: Controladores, middleware y configuración
- Clean Architecture con MediatR y Mapster
- System.Text.Json Source Generators para rendimiento optimizado
- Serilog con filtrado de PII para logging seguro
- JWT Authentication con Supabase
- Health Checks con métricas detalladas
- OpenAPI/Swagger con documentación automática
- TypeScript estricto con configuración avanzada
- ESLint + Prettier para calidad de código
- Componentes funcionales con hooks
- Lazy loading y optimizaciones de rendimiento
- Row Level Security (RLS) para autorización
- Índices compuestos para consultas optimizadas
- UUID v7 para mejor rendimiento
- Connection pooling con Npgsql
- Terraform para Infrastructure as Code
- Fly.io para deployment de aplicaciones
- Cloudflare para CDN y seguridad
- Supabase para autenticación y base de datos
- TLS 1.3 con HSTS obligatorio
- Content Security Policy (CSP) estricta
- Headers de seguridad completos (X-Frame-Options, X-Content-Type-Options, etc.)
- Autenticación JWT con renovación cada 24h
- Gestión de secretos con Doppler (dev/CI) y Vault (prod)
- Escaneo de dependencias semanal con Dependabot
- Análisis de seguridad con OWASP ZAP
- Unit Tests: xUnit (backend) + Vitest (frontend) - 80% cobertura mínima
- Contract Tests: Validación de endpoints OpenAPI - 100% cobertura
- E2E Tests: Playwright con 2 escenarios principales
- Load Tests: k6 para 100 repositorios concurrentes - p95 < 300ms
- Security Tests: OWASP ZAP - 0 hallazgos críticos
1. Build & Unit Tests (Backend + Frontend)
2. Contract Tests (API endpoint validation)
3. E2E Tests (Playwright scenarios)
4. Load Tests (k6 performance testing)
5. Security Tests (OWASP ZAP scanning)
6. Deploy to Production (if main branch)
7. Post-deployment Health Checks
8. Performance Monitoring
Métrica | Objetivo | Implementación |
---|---|---|
API p95 | < 200ms | AOT compilation, JSON Source Generators |
DB Queries | < 10ms | Índices compuestos, UUID v7, connection pooling |
First Load | < 1.5s | Lazy loading, React 18, CDN Cloudflare |
Assets Cache | > 95% | Cache-control: 1 año, optimización PNG/SVG |
- .NET 8 SDK
- Node.js 20+
- PostgreSQL 15+
- Docker (opcional)
cd backend
dotnet restore
dotnet build
dotnet test
dotnet run --project src/AutoDocOps.Api/AutoDocOps.Api
cd frontend/AutoDocOps-Frontend
npm install
npm run lint
npm run type-check
npm run test
npm start
npx playwright install
npx playwright test
k6 run tests/load/api-load-test.js
AutoDocOps/
├── backend/ # API .NET 8
│ ├── src/
│ │ ├── AutoDocOps.Domain/ # Entidades y lógica de negocio
│ │ ├── AutoDocOps.Application/ # Casos de uso (MediatR)
│ │ ├── AutoDocOps.Infrastructure/ # Datos y servicios externos
│ │ └── AutoDocOps.Api/ # API Controllers y configuración
│ └── tests/ # Tests unitarios e integración
├── frontend/ # React/Expo App
│ └── AutoDocOps-Frontend/
├── infrastructure/ # Terraform IaC
├── tests/ # Tests E2E y Load
├── docs/ # Documentación y ADRs
└── .github/workflows/ # CI/CD Pipelines
- ADR-001: Clean Architecture
- ADR-002: API Versioning
- ADR-003: Performance Optimization
- ADR-004: Security Strategy
- Swagger UI:
/swagger
(development) - OpenAPI Spec:
/swagger/v1/swagger.json
- Health Check:
/health
# Database
ConnectionStrings__DefaultConnection=...
# Supabase
Supabase__Url=...
Supabase__AnonKey=...
Supabase__ServiceRoleKey=...
# CORS
Cors__AllowedOrigins__0=http://localhost:3000
Copia .env.example
a .env
y configura las variables necesarias.
cd infrastructure
terraform init
terraform plan -var-file="prod.tfvars"
terraform apply -var-file="prod.tfvars"
flyctl deploy --config fly.toml
- Health Checks:
/health
con métricas detalladas - Logging: Serilog con filtrado de PII
- Performance: Métricas de respuesta en tiempo real
- Security: Alertas automáticas de vulnerabilidades
- Fork el proyecto
- Crea una rama feature (
git checkout -b feature/AmazingFeature
) - Commit los cambios (
git commit -m 'Add AmazingFeature'
) - Push a la rama (
git push origin feature/AmazingFeature
) - Abre un Pull Request
- Usa EditorConfig para formateo consistente
- Ejecuta linting antes de commit
- Mantén 80%+ cobertura de tests
- Documenta funciones públicas
Este proyecto está bajo la Licencia MIT - ver LICENSE para detalles.
AutoDocOps - Generación automática de documentación con las mejores prácticas de desarrollo moderno.