Plataforma completa para gestionar conexiones a bases de datos y ejecutar auditorías de seguridad.
MicroSQL-AGo/
├── backend-go/ # Backend en Go (API REST)
│ ├── cmd/ # Aplicaciones ejecutables
│ ├── internal/ # Código interno del backend
│ └── Dockerfile # Imagen Docker del backend
│
├── frontend-nextjs/ # Frontend en Next.js (React/TypeScript)
│ ├── src/ # Código fuente del frontend
│ └── Dockerfile # Imagen Docker del frontend
│
├── docs/ # Documentación del proyecto
├── docker-compose.yml # Orquestación de servicios Docker
└── README.md # Este archivo
La forma más fácil de ejecutar toda la aplicación es usando Docker Compose:
# 1. Construir y levantar todos los servicios
docker-compose up -d --build
# 2. Ejecutar migraciones (primera vez)
docker-compose --profile migration run --rm migrate
# 3. Acceder a la aplicación
# Frontend: http://localhost:3000
# Backend API: http://localhost:8000Para más detalles sobre Docker, consulta DOCKER_SETUP.md.
cd backend-go
# Instalar dependencias
go mod download
# Ejecutar servidor
go run cmd/server/main.go
# El servidor estará en http://localhost:8000cd frontend-nextjs
# Instalar dependencias
npm install
# Ejecutar servidor de desarrollo
npm run dev
# La aplicación estará en http://localhost:3000Puedes usar MySQL con Docker:
docker-compose up dbO usar SQLite (por defecto en desarrollo).
- DOCKER_SETUP.md - Guía completa de Docker
- ENDPOINTS_SUMMARY.md - Resumen de todos los endpoints de la API
- docs/ - Documentación adicional del proyecto
- Go 1.24+ - Lenguaje de programación
- Gin - Framework web
- GORM - ORM para bases de datos
- MySQL/SQLite - Bases de datos soportadas
- JWT - Autenticación
- Next.js 16 - Framework React
- React 19 - Biblioteca de UI
- TypeScript - Tipado estático
- Tailwind CSS 4 - Estilos
POST /api/auth/login- Iniciar sesiónPOST /api/auth/logout- Cerrar sesiónPOST /api/users/register- Registro de usuarios
POST /api/db/:manager/open- Abrir conexiónDELETE /api/db/:manager/close- Cerrar conexiónGET /api/db/connections- Listar conexiones activas
POST /api/db/:manager/audits/execute- Ejecutar auditoríaGET /api/db/:manager/audits/:id- Ver resultados
GET /api/admin/users- Listar usuariosGET /api/admin/roles- Gestión de rolesGET /api/admin/metrics/*- Métricas del sistema
Ver ENDPOINTS_SUMMARY.md para la lista completa.
- Autenticación basada en JWT
- Contraseñas hasheadas con bcrypt
- Encriptación de credenciales de BD con AES-GCM
- Control de acceso basado en roles (RBAC)
- Política de sesión única
- db - MySQL 8.0 (puerto 3306)
- backend - API Go (puerto 8000)
- frontend - Next.js (puerto 3000)
- migrate - Ejecutor de migraciones (perfil migration)
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Ver LICENSE para más detalles.
Para problemas o preguntas:
- Revisa la documentación en
docs/ - Consulta DOCKER_SETUP.md para problemas con Docker
- Revisa los logs:
docker-compose logs -f