Lista de prerrequisitos.
- Plataformas soportadas: Android e iOS.
- Dart SDK: En su versión
3.8.1. - Flutter SDK: En su versión
3.32.8. - Java / JDK: target/compatibility configurada para Java 11.
- IDE / Debug helpers:
.vscode/launch.jsonincluir configuración para uso de flags--dart-define-from-file=.env.
Ejemplo .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"args": ["--dart-define-from-file=.env"],
"name": "coding-interview-frontend",
"request": "launch",
"type": "dart"
},
{
"args": ["--dart-define-from-file=.env"],
"flutterMode": "profile",
"name": "coding-interview-frontend (profile mode)",
"request": "launch",
"type": "dart"
},
{
"args": ["--dart-define-from-file=.env"],
"flutterMode": "release",
"name": "coding-interview-frontend (release mode)",
"request": "launch",
"type": "dart"
}
]
}La aplicación usa variables en tiempo de compilación (dart-define). Especificadas en el archivo .env.example.
Ejemplo env.example
API_BASE_URL=https://api.example.comÁrbol resumido del proyecto:
android/— Proyecto Android (Gradle, settings, local.properties).ios/— Proyecto iOS (Xcode workspace / Info.plist / esquemas).lib/— Source code (UI, páginas, servicios, datos, tema, utilidades).lib/pages/— Páginas de la aplicación (home).lib/services/— Servicios (dio_service.dartpara comunicación HTTP).lib/data/— Modelos/DTOs.lib/theme/— Definición de temas y colores.lib/ui/— Componentes UI (átomos, moléculas, atomic design, etc.).
assets/— Imágenes usadas en la app.test/— Tests.pubspec.yaml— Configuración de paquete y dependencias Dart/Flutter..env.example— Ejemplo de variables de entorno (uso con --dart-define-from-file).
- Clonar el repositorio.
- Crear un archivo
.envbasado en.env.exampley ajustarAPI_BASE_URL. - Instalar dependencias:
flutter pub get- Ejecutar la app (ejemplo con VS Code ya configurado):
flutter run --dart-define-from-file=.env- Ejecutar tests:
flutter test