A flutter app that integrates communication platforms and lets you consolidate all your contact info into a single "profile".
Project Structure
├── assets/
├── firebase/
│ └── functions/
├── android/
├── ios/
├── lib
│ ├── pages/
│ │ ├── chats/
│ │ ├── contacts/
│ │ ├── profile/
│ │ ├── settings/
│ │ └── home_page.dart
│ ├── common/
│ ├── database/
│ ├── sharing/
│ ├── items/
│ └── main.dart
├── test/ *** "flutter test"
└── pubspec.yaml *** "flutter pub get"
Overall:
lib/
has all the dart codecommon/
contains constants, common widgets, auth, etcpages/home_page.dart
is where much of the app initialization and navigation logic is locatedmain.dart
has code that must be run before the first widget is rendered
firebase/functions/
has the backend codeandroid/
andios/
have the platform-specific code
Important libraries used
mobx
for global state management (andmobx_codegen
for generating code)hive
for local database (andhive_generator
for generating code)get_it
as the service locator for global singletonscontacts_service
for accessing device (native) contacts- firebase for backend needs
Build & run
- Make sure you're on the beta channel:
flutter channel beta
- Generate mobx code using build runner:
flutter pub run build_runner build
- Debug app using IDE or run
flutter run