exdevutem / mi-utem

Aplicación móvil Mi UTEM de la Universidad Tecnológica Metropolitana de Chile
14 stars 6 forks source link
chile exdev inndev metropolitana santiago tecnologica universidad utem

Mi UTEM para Android e iOS

Aplicación multiplataforma hecha por estudiantes de la Universidad Tecnológica Metropolitana de Chile enfocada en adaptar la plataforma académica Mi.UTEM de la institución a dispositivos móviles.

Requisitos técnicos

Organización de carpetas

|-- lib
|   |-- config (Configuración de la aplicación)
|   |-- controllers (Controladores de la aplicación, para procesar datos de una vista especifica)
|   |-- models (Modelos de datos)
|   |-- repositories (Repositorios de datos, para obtener datos desde la API)
|   |-- screens (Pantallas de la aplicación)
|   |-- services (Servicios de la aplicación, maneja y procesa los datos de repositorios)
|   |-- themes (Temas de la aplicación)
|   |-- utils (Utilidades de la aplicación)
|   |-- widgets (Widgets de la aplicación)
|-- main.dart (Punto de entrada de la aplicación)
|-- service_manager.dart (Registra los servicios de la aplicación)

Construcción de la app

Para construir la app utilizamos fastlane. Comienza revisando la documentación de Fastlane para iOS y Android. Utilizaremos la instalación de bundler para instalar las dependencias y ejecutar fastlane.

Instalación de Bundler (Se asume que tienes instalado Ruby 3.3.0 o superior) ```bash gem install bundler ```
Instalación de las Dependencias Una vez instalado ejecutarás este comando para instalar las dependencias: ```bash bundle install ```
Subiendo una nueva Actualización Para construir la app ejecuta este comando: ```bash bundle exec fastlane upload type:"beta" skip_ios:false skip_android:false skip_clean:true skip_cocoapods:true skip_git_push:true skip_slack:true is_ci:true ``` Este comando subirá el archivo binario a AppStore y Google Play. Esto hacen las variables: - `skip_ios`: Si es `true` no subirá la app a AppStore, si es `false` subirá la app a AppStore. - `skip_android`: Si es `true` no subirá la app a Google Play, si es `false` subirá la app a Google Play. - `skip_clean`: Si es `true` no limpiará los archivos temporales, si es `false` limpiará los archivos temporales (se recomienda utilizar para construcciones en producción y evitar problemas con archivos guardados en caché). - `skip_cocoapods`: Si es `true` no instalará las dependencias de CocoaPods, si es `false` instalará las dependencias de CocoaPods (se recomienda utilizar para construcciones en producción y evitar problemas con dependencias de CocoaPods). - `skip_git_push`: Si es `true` no creará una nueva etiqueta, si es `false` creará una nueva etiqueta con la lista de cambios formateada. - `skip_slack`: Si es `true` no enviará un mensaje a Slack, si es `false` enviará un mensaje a Slack. - `is_ci`: Si es `true` se ejecutará en modo de integración continua, es decir, no esperará a ver si la versión aparece en AppStore o Google Play, si es `false` esperará a ver si la versión aparece en AppStore o Google Play. Además, al ser `true` también evitará editar el repositorio de Match (el cual contiene los certificados de distribución de la app).

Créditos

Este proyecto fue creado por el Club de Desarrollo Experimental (ExDev) de la Universidad Tecnológica Metropolitana y es mantenido por los propios estudiantes con el apoyo del equipo de SISEI. Mira los perfiles que han contribuido a este proyecto:

Contribuidores