Documentación Frontend ‐ Flutter y MVVM - EstefaniaM08/Proyecto-Nomina-Backend GitHub Wiki
Aplicación móvil desarrollada con Flutter para la gestión de empleados, que incluye funcionalidades como autenticación, registro y consulta de personal. El proyecto utiliza el patrón arquitectónico MVVM (Model - View - ViewModel), lo que permite mantener una clara separación entre la interfaz de usuario y la lógica del negocio.
¿Qué es MVVM?
MVVM (Model - View - ViewModel) es un patrón de arquitectura de software que separa:
- Model: representa los datos (ej. clases como
Usuario
, datos JSON, etc.). - View: la interfaz gráfica de usuario (widgets en Flutter).
- ViewModel: contiene la lógica de presentación. Se comunica con los modelos y expone datos a la vista. En Flutter, se apoya en
ChangeNotifier
yProvider
.
Ventajas de MVVM en Flutter
- Facilita el mantenimiento del código.
- Mejora la escalabilidad del proyecto.
- Evita duplicación de lógica en las vistas.
- Permite realizar pruebas unitarias sin depender de la UI.
- Separa completamente el diseño (UI) de la lógica del negocio (ViewModel).
Estructura del Proyecto
lib/
├── models/ # Estructuras de datos (Usuario, etc.)
├── services/ # Consumo de APIs REST
├── viewmodels/ # Controladores con ChangeNotifier (login, registro, etc.)
├── views/ # Interfaces gráficas (pantallas)
├── main.dart # Inicio de la app y configuración de rutas/providers
Cómo ejecutar el proyecto
1. Clonar el repositorio
git clone https://github.com/EstefaniaM08/Proyecto-Nomina-Frontend.git
cd Proyecto-Nomina-Frontend
2. Instalar las dependencias
flutter pub get
3. Ejecutar la aplicación
flutter run