Examinador
Examer es una aplicación de Android que se utiliza para tomar pruebas que evalúan la capacidad de una persona para escuchar y comprender las conversaciones en inglés. Para probar esta aplicación, debe usar la última versión de Android Studio Arctic Fox.
Nota
Aunque la aplicación funciona, el desarrollo de este proyecto se ha detenido permanentemente. No hay intención de continuar el desarrollo de este proyecto. Las características implementadas funcionarán, pero los errores están destinados a existir. La aplicación no maneja la mayoría de las excepciones, especialmente las relacionadas con la red. FCM (mensajería en la nube de Firebase) se usa en la aplicación, pero el token se registra y no se almacena en ningún lado.
Tabla de contenido
- Manifestación
- Capturas de pantalla
- Características notables
- Esquema de color
- Pila de tecnología
- Código fuente y arquitectura
Manifestación
Examer-demo.mp4
Capturas de pantalla

Características notables
- Apoyo experimental para el francés.
- Admite formatos de tiempo de 12 horas y 24 horas según la configuración del dispositivo.
- No se permitirá al usuario usar la aplicación si la fecha/hora o zona horaria se establece manualmente.
Esquema de color
La paleta de colores y la tipografía utilizada en esta aplicación se basan completamente en la aplicación de especificación para responder, que es una de las muchas aplicaciones de estudios de materiales en Google.

Pila de tecnología
- Completamente escrito en Kotlin.
- Inyección de dependencia manual.
- Jetpack Compose para construir la interfaz de usuario.
- Kotlin Coroutinas para enhebrar.
- Madera para registro.
- Autenticación de Firebase para la creación y autenticación de la cuenta del usuario.
- Firebase Cloud Firestore para almacenar datos.
- Almacenamiento de Firebase para almacenar archivos e imágenes de audio.
- Bobina (componer) para la carga de imágenes y el almacenamiento en caché.
- Biblioteca de acompañantes para ventanas y buscapersonas, buscadores de buscapersonas, swiperefresh, marcador de posición.
- WorksManager para tareas de antecedentes persistentes.
Código fuente y arquitectura
- Se utilizan componentes de arquitectura como el ciclo de vida y los modelos de vista.
- Se utiliza la arquitectura MVVM.
- El código fuente se ajusta a las convenciones de codificación de Kotlin.
- La inyección de dependencia se realiza manualmente.
- La especificación del sistema de color de diseño de materiales se utiliza para asignar colores a los componentes de la interfaz de usuario.
- Los mensajes de confirmación siguen la especificación angular para los mensajes de confirmación.
- Acciones de GitHub para la integración continua (CI).