52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
# 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
|
|
|
|
1. Install Flutter dependencies:
|
|
```bash
|
|
flutter pub get
|
|
```
|
|
|
|
2. Generate code:
|
|
```bash
|
|
dart run build_runner build --delete-conflicting-outputs
|
|
```
|
|
|
|
3. Run the app:
|
|
```bash
|
|
flutter run
|
|
```
|
|
|
|
## Features
|
|
|
|
- Authentication (Login/Register)
|
|
- Real-time Chat
|
|
- Contacts
|
|
- Profile Management
|
|
- Settings
|