Messenger App
A Telegram-like mobile messenger application built with Flutter using Clean Architecture.
Architecture
This project follows Clean Architecture principles with the following structure:
lib/
├── core/ # Core utilities, network, errors, theme
├── features/ # Feature modules (auth, chat, profile, settings)
│ └── [feature]/
│ ├── data/ # Data layer (repositories, datasources)
│ ├── domain/ # Domain layer (entities, usecases, repository interfaces)
│ └── presentation/ # UI layer (bloc, pages, widgets)
└── internal/ # App configuration, DI, routing
Dependencies
- State Management: flutter_bloc, bloc
- Architecture & DI: get_it, injectable, freezed_annotation
- Network & Real-time: dio, signalr_netcore
- Navigation: auto_route
- Database: isar, isar_flutter_libs
Setup
-
Install Flutter dependencies:
flutter pub get -
Generate code:
dart run build_runner build --delete-conflicting-outputs -
Run the app:
flutter run
Features
- Authentication (Login/Register)
- Real-time Chat
- Contacts
- Profile Management
- Settings