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 bundler
Instalación de las Dependencias
Una vez instalado ejecutarás este comando para instalar las dependencias:
bundle install
Subiendo 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:true
Este comando subirá el archivo binario a AppStore y Google Play. Esto hacen las variables:
skip_ios
: Si estrue
no subirá la app a AppStore, si esfalse
subirá la app a AppStore.skip_android
: Si estrue
no subirá la app a Google Play, si esfalse
subirá la app a Google Play.skip_clean
: Si estrue
no limpiará los archivos temporales, si esfalse
limpiará los archivos temporales (se recomienda utilizar para construcciones en producción y evitar problemas con archivos guardados en caché).skip_cocoapods
: Si estrue
no instalará las dependencias de CocoaPods, si esfalse
instalará las dependencias de CocoaPods (se recomienda utilizar para construcciones en producción y evitar problemas con dependencias de CocoaPods).skip_git_push
: Si estrue
no creará una nueva etiqueta, si esfalse
creará una nueva etiqueta con la lista de cambios formateada.skip_slack
: Si estrue
no enviará un mensaje a Slack, si esfalse
enviará un mensaje a Slack.is_ci
: Si estrue
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 esfalse
esperará a ver si la versión aparece en AppStore o Google Play. Además, al sertrue
tambié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: