Estructura del Proyecto
*/lib/main.dart: El archivo principal de la aplicación, que sirve como punto de entrada. Aquí se configuran y ejecutan componentes esenciales, como el widget principal (MaterialApp) y el enrutamiento de la aplicación. En este archivo se inicializan servicios como Firebase y el LocalStorage.
*pubspec.yaml: El archivo pubspec.yaml es el archivo de configuración de dependencias y recursos del proyecto. Aquí se especifican las dependencias de paquetes de Flutter, las fuentes, las imágenes y otros recursos necesarios para la aplicación.
*.env: El archivo .env contiene variables de entorno que se utilizan para configurar aspectos específicos de la aplicación, como claves de API, URLs de servicios externos u otras configuraciones sensibles. Asegúrate de no incluir información confidencial en este archivo y de mantenerlo seguro.
Carpetas
El proyecto sigue una estructura organizativa en la carpeta lib de la siguiente manera:
*/lib
*/enums: Contiene enumeraciones (enums) que definen valores constantes.
*/models: Almacena las clases de modelos que representan los datos empleados en la aplicación.
*/providers: Contiene los proveedores (providers) que gestionan el estado de la aplicación extendiendo la clase ChangeNotifier.
*/router: Incluye configuraciones relacionadas con la navegación y el enrutamiento en la aplicación, como rutas y rutas nombradas.
*/screens: Contiene las pantallas (screens) de la aplicación, cada una en su propio archivo. Estas son las interfaces de usuario principales de la aplicación.
*/services: Aquí se encuentran los servicios que proporcionan funcionalidades específicas, como el servicio de API, Firebase, logs, etc.
*/theme: Almacena el archivo relacionado con el tema y la apariencia visual de la aplicación, como colores, fuentes y estilos.
*/utils: Contiene utilidades y funciones de ayuda que se utilizan en varias partes de la aplicación, como la configuración, los datos guardados localmente, funciones, permisos, entre otras.
*/widgets: Aquí se encuentran los widgets personalizados que se usan en toda la aplicación. Los widgets que se usan en cierta sección del proyecto, se guardan en subcarpetas, como /home o /classes.