Initialize Flutter project with clean architecture #1

Open
opened 2026-09-02 15:22:07 +02:00 by emidab · 0 comments
Owner

Summary

Initialize the Lullalink Flutter project with a clean architecture structure to ensure maintainability and testability.

Requirements

  1. Create Flutter project with platform support (iOS, Android, macOS, Linux)
  2. Set up clean architecture layers:
    • lib/data/ — data sources, models, repositories implementations
    • lib/domain/ — entities, use cases, repository interfaces
    • lib/presentation/ — UI, widgets, state management
    • lib/core/ — shared utilities, constants, extensions
  3. Configure routing with GoRouter for navigation between roles
  4. Set up dependency injection with Riverpod or GetIt
  5. Add basic app shell with role selection screen (Child/Parent)

Acceptance Criteria

  • Flutter project created and runs on at least one platform
  • Directory structure follows clean architecture
  • Basic routing works between screens
  • Dependency injection is configured
  • README documents architecture decisions

Technical Notes

  • Prefer Riverpod for state management (testable, no context needed)
  • Use Freezed for immutable models where appropriate
  • Consider platform-specific code organization for WiFi P2P
## Summary Initialize the Lullalink Flutter project with a clean architecture structure to ensure maintainability and testability. ## Requirements 1. **Create Flutter project** with platform support (iOS, Android, macOS, Linux) 2. **Set up clean architecture layers**: - `lib/data/` — data sources, models, repositories implementations - `lib/domain/` — entities, use cases, repository interfaces - `lib/presentation/` — UI, widgets, state management - `lib/core/` — shared utilities, constants, extensions 3. **Configure routing** with GoRouter for navigation between roles 4. **Set up dependency injection** with Riverpod or GetIt 5. **Add basic app shell** with role selection screen (Child/Parent) ## Acceptance Criteria - [ ] Flutter project created and runs on at least one platform - [ ] Directory structure follows clean architecture - [ ] Basic routing works between screens - [ ] Dependency injection is configured - [ ] README documents architecture decisions ## Technical Notes - Prefer Riverpod for state management (testable, no context needed) - Use Freezed for immutable models where appropriate - Consider platform-specific code organization for WiFi P2P
emidab added this to the v0.1 — MVP: P2P baby monitor milestone 2026-09-02 15:27:48 +02:00
emidab added the
area: setup
size: s
priority: high
labels 2026-09-02 15:27:49 +02:00
emidab added a new dependency 2026-09-02 15:33:11 +02:00
emidab added a new dependency 2026-09-02 15:34:49 +02:00
emidab added a new dependency 2026-09-02 15:35:50 +02:00
Sign in to join this conversation.
No description provided.