Ir al contenido principal

Análisis Técnico del Repositorio: cc-institutions-mock-api

Información General

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
dependabot.yml
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