Local Development
Current POC
Run the existing Flutter proof of concept:
cd reference/mobile_app_demo
flutter pub get
flutter run
flutter analyze
Use a physical Android device for camera and ML Kit testing. An emulator can exercise UI paths but is not enough for camera-heavy flows.
Target Full-System Command
Add one root command when backend, web, mobile, contracts, and infrastructure exist:
make dev
It should:
- Start Docker infrastructure.
- Wait for health checks.
- Run migrations.
- Start Spring Boot.
- Start Next.js.
- Print Flutter connection instructions.
Local Addresses
| Service | Address |
|---|---|
| Spring Boot | http://localhost:8080 |
| Next.js | http://localhost:3000 |
| PostgreSQL | localhost:5432 |
| API docs | http://localhost:8080/swagger-ui |
Flutter Backend URLs
| Runtime | URL |
|---|---|
| Android emulator | http://10.0.2.2:8080 |
| iOS simulator | http://localhost:8080 |
| Physical phone | http://<developer-machine-LAN-IP>:8080 |
| Production | build-time configuration, never hard-coded |
Planned Infrastructure
Use Docker Compose for shared dependencies only:
- PostgreSQL;
- Redis only if needed;
- Mailpit for development email;
- MinIO only if object storage is needed;
- optional local identity provider.