Saltearse al contenido

Estructura del proyecto

Una estructura organizada ayuda a mantener el código del proyecto en orden, lo que facilita la localización de archivos y componentes, y a su vez, simplifica el mantenimiento y la comprensión del código.

Archivos clave

  • /lib/main.dart: Es el punto de inicio de la aplicación. Se encarga de configurar el widget principal con el MaterialApp, gestionar el enrutamiento e inicializar los servicios necesarios para su funcionamiento.

  • pubspec.yaml: Es el archivo de configuración del proyecto, donde se especifican las dependencias, fuentes, imágenes y demás recursos necesarios.

  • .env: Este archivo contiene las variables de entorno, como claves de API o URLs. Se recomienda siempre mantenerlo protegido para prevenir la exposición de información sensible.

  • firebase.json En este archivo deberás incluir las claves necesarias para la configuración con Firebase del proyecto.

  • local.properties Este archivo se utiliza para almacenar configuraciones locales específicas.

  • key.properties Es utilizado para almacenar información sensible relacionada con las claves de firma de la app.

Directorios

El directorio lib es el principal dentro del proyecto y alberga todo el código fuente de la aplicación. Este organiza los archivos y subdirectorios que definen la lógica, las interfaces y las funcionalidades de la app.

  • /enums: Aquí se definen las enumeraciones con valores constantes.

  • /models: Contiene las clases de modelo de datos utilizadas en la aplicación.

  • /providers: Alberga las clases provider para la gestión del estado de la app.

  • /router: Contiene el archivo de configuración de las rutas y la navegación de la aplicación.

  • /screens: Almacena los archivos que representan las pantallas de la app.

  • /services: Aquí se encuentran los archivos de configuración para servicios como API y almacenamiento local.

  • /theme: Contiene los archivos que configuran los temas, colores y estilos de la aplicación.

  • /utils: Almacena funciones y herramientas reutilizables (como paginadores, permisos, etc.).

  • /widgets: Aquí se encuentran los widgets personalizados, organizados en subcarpetas si son específicos de una sección.

  • /helpers: Contiene funciones reutilizables para tareas comunes dentro de la app.

  • /l10n: Almacena archivos relacionados con la internacionalización y traducciones de los textos de la app.

  • /templates: Guarda las plantillas prediseñadas para ser reutilizadas en diversas partes de la app, como pantallas o formularios.