Aplicación móvil desarrollada en Flutter diseñada para la consulta, aprendizaje y gestión de términos relacionados con la ingeniería de sistemas e informática. La plataforma permite a los usuarios buscar conceptos técnicos, administrar un diccionario personal y contribuir con nuevas definiciones al diccionario global.
- Búsqueda y Exploración: Acceso rápido y estructurado a definiciones técnicas.
- Gestión de Tema: Soporte integral para modo claro y oscuro, conservando las preferencias del usuario de forma persistente.
- Diccionario Personal: Autenticación de usuarios (incluyendo el inicio de sesión con Google) para habilitar la creación, edición y eliminación de términos propios en la sección "Mi Diccionario".
- Estadísticas Globales: Visualización de los conceptos más consultados y de mayor relevancia para la comunidad.
- Sistema de Sugerencias: Interfaz que permite a los usuarios proponer nuevos términos para su revisión e incorporación al diccionario general.
- Interacción y Difusión: Funcionalidad integrada para compartir definiciones fácilmente.
- Experiencia de Usuario Continua: Implementación de indicadores de carga y manejo adecuado de estados durante la ausencia de conexión a internet.
- Panel de Administración: Módulo dedicado a la gestión y moderación de las sugerencias aportadas por los usuarios.
- Framework: Flutter (SDK >= 3.9.0)
- Base de Datos y Autenticación: Supabase (
supabase_flutter) - Persistencia Local:
shared_preferences(utilizado para conservar la configuración visual y el estado de la pantalla de introducción). - Librerías Adicionales:
share_plus: Integración para compartir contenido nativamente.cupertino_icons: Set de iconografía estándar de iOS.- Tipografías personalizadas: Inter y Angkor.
El código fuente principal se encuentra en la carpeta lib/:
baseDeDatos/: Configuración del cliente y conexión con los servicios de Supabase.logica/: Implementación de la lógica de negocio y controladores de la aplicación.pantallas/: Vistas principales de la interfaz de usuario (Inicio, Búsqueda, Favoritos, Detalles de Términos, etc.).provider/: Gestión del estado global y reactividad de la aplicación.services/: Integración con servicios externos y herramientas de terceros.widgets/: Componentes modulares y reutilizables de la interfaz (tarjetas, botones, indicadores visuales de carga).
Para compilar y ejecutar este proyecto en un entorno de desarrollo local, es necesario contar con el SDK de Flutter instalado y configurado correctamente.
-
Clonar el repositorio:
git clone <url-del-repositorio>
-
Instalar las dependencias del proyecto:
flutter pub get
-
Configurar los servicios en la nube: Es imprescindible establecer las credenciales del proyecto de Supabase. Ingrese la URL del entorno y la clave pública (Anon Key) en el archivo de conexión correspondiente (
lib/baseDeDatos/conexion.dart). -
Ejecutar la aplicación:
flutter run