Embark on the quest to be your true self.
TOBE is a Flutter-based mobile application built using a modular monorepo architecture. The project leverages:
- Flutter for cross-platform mobile development
- Dart Frog for the GraphQL backend API
- Melos for monorepo package management
- Riverpod for state management
- Clean Architecture principles for maintainable code structure
TBD
TBD
After git clone, run the following command:
# Initial setup
make bs
# Run mobile app (development)
cd app/mobile && flutter run --flavor dev
# Run backend server
cd app/backend && dart_frog dev
# Run component catalog
cd app/catalog && flutter run
- Architecture Overview - Detailed technical architecture and design decisions
- Development Guide - Development workflow, setup, and best practices
- Module Structure - Package organization and dependencies
- Testing Strategy - Testing approaches and guidelines
- Deployment Process - Build, release, and deployment procedures
Please refer to the Development Guide for detailed setup instructions.
The project follows Clean Architecture principles with a modular monorepo structure. For detailed architecture information, see Architecture Overview.
- Frontend: Flutter, Riverpod, GoRouter
- Backend: Dart Frog, GraphQL (Ferry)
- Database: Drift (SQLite), Firebase
- Testing: Flutter Test, Mocktail
- CI/CD: GitHub Actions, Renovate
- Code Generation: build_runner, Freezed
- Tools: Melos for monorepo management
tobe-app/
├── app/ # Runnable applications
│ ├── backend/ # Dart Frog GraphQL API server
│ ├── mobile/ # Flutter mobile application
│ └── catalog/ # Widgetbook component catalog
├── core/ # Shared business logic and infrastructure
│ ├── model/ # Domain models
│ ├── domain/ # Use cases
│ ├── data/ # Repository implementations
│ └── ... # Other core modules
├── feature/ # Feature modules
│ ├── auth/ # Authentication feature
│ ├── home/ # Home screen feature
│ └── ... # Other features
├── docs/ # Documentation
└── scripts/ # Build and utility scripts
For detailed build instructions, see Deployment Process.
# Run all tests
melos test
# Run tests with coverage
melos test -- --coverage
For comprehensive testing guidelines, see Testing Strategy.
Please refer to the Development Guide for:
- Setting up your development environment
- Code style and conventions
- Creating new features
- Submitting pull requests
Thanks to our wonderful contributors!
tobe app is distributed under the terms of the MIT License. See the license for more information.