Aplicación Móvil

Agenda de Contactos
Proyecto Académico

Proyecto final de la asignatura de Desarrollo de Aplicaciones Móviles (TEP PUCMM). App multiplataforma para gestión de contactos con sistema de favoritos, búsqueda en tiempo real e integración con API externa, desarrollada junto a mi compañero Adamil Felipe Abreu.

FlutterDartBLoC PatternGoRouterDioSharedPreferencesMaterial Design 3
2025
2.2 meses
República Dominicana
Agenda de Contactos
Desarrollo de Aplicaciones Móviles · TEP PUCMM

El Problema

Como proyecto final de la asignatura de Desarrollo de Aplicaciones Móviles, necesitábamos construir una app multiplataforma real que pusiera en práctica gestión de estado reactiva, persistencia local, integración con APIs externas y compatibilidad real en web, Android, iOS y escritorio.

La Solución

Junto a mi compañero Adamil Felipe Abreu, desarrollamos una agenda de contactos en Flutter 3.29.3 aplicando el patrón BLoC para gestión de estado inmutable, GoRouter para navegación declarativa y Dio para consumo de la API RandomUser.me. La app persiste contactos y favoritos localmente con SharedPreferences, soporta selección de imágenes desde galería, cámara o URL, e implementa búsqueda en tiempo real con debounce.

Proceso de Desarrollo

1

Diseño de arquitectura en capas: cubit, models, repositories, services, views y widgets

2

Implementación del patrón BLoC con estado inmutable (copyWith) y separación total de la UI

3

Desarrollo del CRUD completo de contactos con validación de formularios en tiempo real

4

Integración con RandomUser.me para generación de contactos de ejemplo en español

5

Persistencia local con SharedPreferences: serialización JSON con toJson() y fromJson()

6

Gestión de imágenes multiplataforma (galería, cámara, URL) con solución de CORS para web

7

Sistema de favoritos con toggle visual, vista especializada y gestión masiva

8

Soporte de tema claro/oscuro con Material Design 3

Resultados

Aplicación funcional en 6 plataformas (web, Android, iOS, Windows, macOS y Linux) con arquitectura BLoC robusta y código totalmente documentado

CRUD completo con validación, DatePicker y confirmaciones de eliminación

Búsqueda en tiempo real por nombre, apellido, teléfono o email

Persistencia offline sin depender de backend propio

Compatibilidad real en web, Android, iOS y escritorio desde una sola base de código

Integración con API externa (RandomUser.me) con manejo de errores de conectividad

Código 100% documentado para facilitar mantenimiento y escalabilidad

Colaboradores

AF

Adamil Felipe Abreu

Co-desarrollador

Supervisor

RA

Ramón Antonio Morales Jiménez

Profesor · Ingeniero Informático

LinkedIn

Galería

Agenda de Contactos 1
Agenda de Contactos 2
¿HABLÁMOS? →