Análisis Técnico del Repositorio: Carpeta Ciudadana Mobile
Nombre del Proyecto: Carpeta Ciudadana Mobile
Repositorio: github.com/ogticrd/carpeta-ciudadana-mobile
Una aplicación móvil destinada a los ciudadanos para interactuar con servicios digitales del gobierno.
| Elemento |
Observaciones |
.github/ |
Contiene workflows de GitHub Actions (CI/CD). Se menciona una tarea de cleanup cache, lo que sugiere optimización de builds. |
src/ |
Carpeta principal de código fuente. Cambios recientes sugieren mantenimiento activo. |
assets/, accests/ |
Dos carpetas similares; podría haber una confusión de nombres o duplicación. Revisar si ambas son necesarias. |
.env.example, .env.local |
Uso de variables de entorno. Correcta separación entre variables públicas y privadas. Incluye integración con Sentry. |
App.tsx |
Proyecto basado en React Native (o React + Expo). Componente raíz de la app. |
Dockerfile |
Soporte para contenerización. Permite pruebas y despliegue estandarizado. |
GoogleService-Info.plist / google-services.json |
Indica integración con Firebase tanto para iOS como Android. Muy común en apps móviles. |
babel.config.js, metro.config.js |
Configuración típica de React Native. |
eas.json |
Archivo de configuración de EAS (Expo Application Services). Se usa para builds y actualizaciones OTA. |
package.json, tsconfig.json |
Proyecto en TypeScript, bien estructurado. |
Stack Tecnológico
| Elemento |
Descripción |
| Framework base |
React Native |
| Entorno móvil |
Expo con EAS (Expo Application Services) |
| Lenguaje |
TypeScript |
| Gestión de estado |
Redux Toolkit + React Query |
| Navegación |
React Navigation |
| Firebase |
Integrado (push notifications, auth, etc.) |
| Feature flags |
Unleash + GrowthBook |
| Autenticación |
Expo Auth Session, Firebase, LocalAuth |
| Observabilidad |
Sentry |
| Fuentes |
Google Fonts (Poppins) |
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 |
| Reset de entorno |
"reset-project" |
Script personalizado (./scripts/reset-project.js) para reinicio de entorno. Declarado pero no se encontró el archivo – revisar si existe. |
| EAS (Expo Application Services) |
eas.json |
Integración con EAS: build y deployment OTA para móviles |
| Seguridad |
|
Monitoreo automático de versiones y alertas |
Análisis de Workflows CI/CD (.github/workflows/)
| Archivo de Workflow |
Propósito |
Herramientas clave |
Estado |
ci-check-linters.yml |
Ejecuta linters para mantener calidad de código |
eslint, posiblemente expo lint |
Activo y útil para calidad |
cleanup-cache-branch.yml |
Limpia la caché de branches antiguas o cerradas |
actions/github-script, cache |
Mantenimiento automatizado |
preview-deployment.yml |
Despliega versiones de preview (probablemente PRs) |
Expo, EAS, o similar |
Muy útil para validaciones previas |
preview-deployment-slack-pr.yml |
Notifica en Slack sobre despliegues de preview |
slackapi/slack-github-action |
Integración con Slack para visibilidad |
Calidad del Código
| Herramienta |
Presencia |
Comentarios |
| ESLint |
Detectado |
Usa @typescript-eslint, eslint-config-expo |
| Prettier |
No explícitamente declarado |
|
| Análisis estático |
No SonarQube u otra herramienta detectada |
|
| Depuración de dependencias |
Detectado |
Usa depcheck y unimported para limpiar dependencias no usadas |
Seguridad
| Elemento |
Presencia |
Comentarios |
.env.example |
Si |
Correcto uso para variables de entorno públicas |
.env.local |
Si |
Presente en el repo (riesgo si contiene claves) |
| Sentry |
Si |
Integración con @sentry/react-native |
| Control de calidad estático (SAST) |
NO |
No detectado. Recomendado para escaneo de vulnerabilidades |
| |
|
|
Dependencias y Escalabilidad
| Tipo |
Ejemplos |
Observaciones |
| UI / UX |
@gorhom/portal, react-native-tab-view, poppins, expo-checkbox |
Buen uso de librerías modernas |
| Estado |
redux-toolkit, react-query |
Excelente combinación (escalabilidad + optimización) |
| Autenticación / Seguridad |
expo-auth-session, expo-secure-store, expo-local-authentication |
Cubren login biométrico, tokens seguros |
| Observabilidad / Flags |
sentry, unleash, growthbook |
Nivel empresarial |
Documentación
| Archivo |
Estado |
README.md |
No visible en estructura |
app.config.js |
Configuración específica de Expo |
| Otros |
No se detecta documentación para desarrolladores o entorno de producción/despliegue |