Análisis Técnico del Repositorio: Carpeta Ciudadana Mobile
Nombre del Proyecto: Carpeta Ciudadana Mobile
Repositorio: github.com/ogticrd/carpeta-ciudadana-mobile
| 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
dependabot.yml
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 |
DependabotControl ode Snykcalidad 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