Análisis Técnico del Repositorio: cc-institutions-mock-api
Información General
Nombre del Proyecto: Carpeta Ciudadana Backend
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
| Tecnología Backend | Go (Golang) |
config.go 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
.github/workflows/, como clean.yml, development.yml, staging.yml, que gestionan despliegues automáticos.
go.mod 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
swagger.json y swagger.yaml,