A new Flutter project.
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
This app uses Firebase email/password authentication. New accounts are created only after the user enters the 6-digit code sent to their email, and forgotten passwords are reset with the same code-based flow.
Before running on devices, complete these setup steps:
- Create a Firebase project and add Android and iOS apps.
- Enable Email/Password in Firebase Console -> Authentication -> Sign-in method.
- Add platform config files:
android/app/google-services.jsonios/Runner/GoogleService-Info.plist
- Run
flutterfire configure(recommended) to generatefirebase_options.dart. - Copy
functions/.env.exampletofunctions/.envfor local development and putSMTP_PASSWORD=...infunctions/.secret.local. Both local files are ignored by Git. - Store the production SMTP password in Firebase Secret Manager before deploy:
firebase functions:secrets:set SMTP_PASSWORDThe configured mail server is mail.peatechservice.com:465 with SSL, the SMTP
username is info@peatechservice.com, and messages are sent as
PEATECH SERVICES LLC <mail@peatechservice.com>.
Help-request workflow mutations now go through a Python Firebase Functions HTTPS endpoint named workflow_api.
Deploy the backend with:
firebase deploy --only functionsBy default, the Flutter app calls:
https://us-central1-<firebase-project-id>.cloudfunctions.net/workflow_api
The project ID is read from firebase_options.dart.
If you need to point the app at a different deployed endpoint, pass a Dart define when running the app:
flutter run --dart-define=GHMERA_WORKFLOW_API_URL=https://<your-url>/workflow_apiYou can also override the function region if needed:
flutter run --dart-define=GHMERA_FUNCTIONS_REGION=<region>