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.
- Flutter 3.7.12 (te recomendamos utilizar fvm para facilitar la administración de versiones)
- macOS + XCode (para compilar en iOS)
- Android Studio (para compilar en Android)
- ruby 3.3.0 (para compilar y subir app a App Store y Google Play)
|-- 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)
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)
gem install bundlerInstalación de las Dependencias
Una vez instalado ejecutarás este comando para instalar las dependencias:
bundle installSubiendo una nueva Actualización
Para construir la app ejecuta este comando:
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:trueEste comando subirá el archivo binario a AppStore y Google Play. Esto hacen las variables:
skip_ios: Si estrueno subirá la app a AppStore, si esfalsesubirá la app a AppStore.skip_android: Si estrueno subirá la app a Google Play, si esfalsesubirá la app a Google Play.skip_clean: Si estrueno limpiará los archivos temporales, si esfalselimpiará los archivos temporales (se recomienda utilizar para construcciones en producción y evitar problemas con archivos guardados en caché).skip_cocoapods: Si estrueno instalará las dependencias de CocoaPods, si esfalseinstalará las dependencias de CocoaPods (se recomienda utilizar para construcciones en producción y evitar problemas con dependencias de CocoaPods).skip_git_push: Si estrueno creará una nueva etiqueta, si esfalsecreará una nueva etiqueta con la lista de cambios formateada.skip_slack: Si estrueno enviará un mensaje a Slack, si esfalseenviará un mensaje a Slack.is_ci: Si estruese ejecutará en modo de integración continua, es decir, no esperará a ver si la versión aparece en AppStore o Google Play, si esfalseesperará a ver si la versión aparece en AppStore o Google Play. Además, al sertruetambién evitará editar el repositorio de Match (el cual contiene los certificados de distribución de la app).
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: