Análisis Técnico del Repositorio: cc-institutions-mock-api
Nombre del Proyecto: cc-institutions-mock-api
Repositorio: github.com/ogticrd/cc-institutions-mock-api
API Mockup para proveer data fake de las Instituciones para la App Carpeta Ciudadana.
| Carpeta / Archivo |
Descripción breve |
.github/workflows/ |
Contiene workflows de GitHub Actions para CI/CD (clean, development, staging). |
cmd/seeders |
Probablemente incluye scripts para sembrar datos en la base de datos. |
config/config.go |
Archivo de configuración global de la app (env vars, puertos, etc). |
database/mongodb.go |
Inicialización y conexión a MongoDB. |
docs/ |
Contiene documentación Swagger (.json, .yaml) y archivo auxiliar. |
internals/ |
Lógica principal dividida en submódulos según entidad o institución. |
models/ |
Definiciones de modelos de datos usados por las APIs y la base de datos. |
router/router.go |
Inicializa las rutas HTTP del servidor. |
utils/utils.go |
Funciones auxiliares reutilizables (helpers). |
.dockerignore |
Archivos que se deben excluir del contexto de Docker. |
.env.example |
Variables de entorno de ejemplo para configurar localmente. |
Dockerfile |
Imagen Docker para compilar y ejecutar el backend. |
Makefile |
Tareas automatizadas (build, lint, run, etc). |
README.md |
Documentación inicial del proyecto. |
go.mod / go.sum |
Manejadores de dependencias de Go. |
main.go |
Punto de entrada principal de la aplicación Go. |
Módulos por dominio (internals/handlers y routes)
| Institución / Módulo |
Handler (handlers/) |
Rutas (routes/) |
Modelo (models/) |
Funcionalidad esperada |
| Educación |
educacion.go |
educacion.go |
educacion.go |
Consultas al Ministerio de Educación |
| Intrant |
intrant.go |
intrant.go |
intrant.go |
Licencias, tránsito y vehículos |
| JCE |
jce.go |
jce.go |
jce.go |
Datos de cédula y registro civil |
| MESCyT |
mescyt.go |
mescyt.go |
educacion.go |
Becas y títulos universitarios |
| Migración |
migracion.go |
migration.go |
migracion.go |
Entrada/salida del país |
| SIPEN |
sipen.go |
sipen.go |
pension.go |
Pensiones, AFP |
| SISALRIL |
sisalril.go |
sisalril.go |
sisalril.go |
Seguro familiar de salud |
| SNS |
sns.go |
sns.go |
sns.go |
Centros de salud, afiliación |
| Superseguros |
superseguros.go |
superseguros.go |
citizen.go (?) |
Información de seguros |
Documentación y APIs
| Archivo |
Propósito |
docs/swagger.yaml |
Definición OpenAPI de las rutas y modelos |
docs.go |
Generación o integración de Swagger posiblemente con comentarios Go |
README.md |
Introducción al proyecto y guía de uso |
Tecnología
| Elemento |
Descripción |
| Tecnología Backend |
Go (Golang) |
| Framework |
Ninguno especificado; se utiliza Go nativo para implementar la lógica del backend. |
| Base de Datos |
MongoDB |
| Archivos de Configuración |
Archivos como config.go y database.go sugieren la configuración de la base de datos y otros parámetros del sistema. |
| Entorno de Desarrollo |
El repositorio contiene un Makefile, Dockerfile, y archivos de configuración como .env.example que permiten configurar y ejecutar el entorno de desarrollo. |
| Contenedores |
El repositorio contiene un Dockerfile que permite construir una imagen Docker para el backend. |
| CI/CD |
El repositorio incluye workflows de CI/CD en .github/workflows/, como clean.yml, development.yml, staging.yml, que gestionan despliegues automáticos. |
| Dependencias |
go.mod y go.sum indican que el proyecto usa Go Modules para gestionar las dependencias del proyecto. |
| Servicios |
El backend parece estar dividido en varios servicios, como citizenapi, con distintos manejadores en handlers que se encargan de diferentes aspectos del servicio. |
| Documentación |
Se incluyen archivos de documentación como swagger.json y swagger.yaml, que pueden describir las APIs del servicio. |
DevOps / Automatización
| Área |
Herramienta/Archivo |
Comentarios |
| CI/CD |
.github/workflows (presente) |
GitHub Actions configurado (ej. limpieza de caché, tests) |
| Contenedores |
Dockerfile |
Contenedor de pruebas configurado |
| Seguridad |
|
Monitoreo automático de versiones y alertas |
Análisis de Workflows CI/CD (.github/workflows/)
| Archivo |
Descripción |
| development.yml |
Desplegar entorno de desarrollo en Cloud Run |
| staging.yml |
Desplegar a entorno de preproducción (staging) |
| clean.yml |
Eliminar recursos temporales de PR cerrados |