Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 163 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Hankers — Cross-Platform Mobile App

<div align="center">
<img src="public/favicon.svg" alt="Hankers Logo" width="120" height="120" />
<h2>Modern Social Networking App — Flutter</h2>
<p>A scalable, cross-platform mobile application for the Hankers platform</p>
<p>Built once, deployed everywhere — Android & iOS</p>
<a href="https://hankers.tech" target="_blank"><strong>🔗 Live Platform: hankers.tech</strong></a>
</div>

---

## 📌 Overview

**Hankers Mobile App** is a **production-ready cross-platform application** built with **Flutter** and **Dart**, designed to deliver a smooth, high-performance social networking experience on **Android and iOS**.

The app follows a **feature-first, layered architecture**, aligning closely with the Hankers frontend and backend systems. It prioritizes:

- Maintainability and scalability
- Clean architecture principles
- Predictable state management
- Real-world mobile engineering practices

---

## ✨ Key Mobile Features

* 🔐 **Authentication**
- Login, signup, OTP verification
- Secure token handling
- Persistent sessions

* 📰 **Home Feed**
- Infinite scrolling timeline
- Posts, replies, likes, reposts
- Optimized API pagination

* 👤 **User Profiles**
- Avatars, bios, cover photos
- Follow / unfollow users
- Profile editing

* 🔍 **Explore & Search**
- Trending topics & hashtags
- User and post search
- Filters & sorting

* 💬 **Messaging**
- Real-time one-to-one chats
- Group conversations
- Typing & read indicators

* 🔔 **Notifications**
- Real-time updates
- Push notification support
- Unread badge tracking

* ⚙️ **Settings**
- Account & privacy controls
- Notification preferences
- Theme & language options

---

## 🧱 Architecture Philosophy

The mobile app follows **Clean Architecture** adapted for Flutter, with a **Feature-First structure**.

Each feature is:

- Isolated and independently testable
- Separated into presentation, domain, and data layers
- Easy to scale and refactor

> ✅ This approach is widely used in production Flutter apps and large teams.

---

## 🛠 Tech Stack

### Core

- **Framework**: Flutter
- **Language**: Dart
- **Platforms**: Android, iOS

### State & Architecture

- **State Management**: BLoC / Cubit
- **Architecture**: Clean Architecture
- **Dependency Injection**: get_it / injectable

### Data & Networking

- **API Communication**: REST
- **HTTP Client**: Dio
- **Serialization**: json_serializable
- **Local Storage**: SharedPreferences / Hive

### Real-Time & Notifications

- **WebSockets**: Socket.IO / native sockets
- **Push Notifications**: Firebase Cloud Messaging (FCM)

### Testing & Quality

- **Unit Tests**: flutter_test
- **Widget Tests**
- **Integration Tests**
- **Linting**: flutter_lints

---

## 🚀 Getting Started

### 1️⃣ Install Dependencies

```bash
flutter pub get
```

---

### 🔄 Cross Team
<table>
<tr>
<td align="center">
<a href="https://github.com/ZiadMontaser">
<img src="https://github.com/ZiadMontaser.png" width="100">
<br />
<sub><b>Ziad Montaser</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/faroukmohamed2">
<img src="https://github.com/faroukmohamed2.png" width="100">
<br />
<sub><b>Farouk Mohamed</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/HossamMo123">
<img src="https://github.com/HossamMo123.png" width="100">
<br />
<sub><b>Hossam Mohamed</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/mohamed-yasser23">
<img src="https://github.com/mohamed-yasser23.png" width="100">
<br />
<sub><b>Mohamed Yasser</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/Uderscore">
<img src="https://github.com/Uderscore.png" width="100">
<br />
<sub><b>Mazen Hatem</b></sub>
</a>
</td>
</tr>
</table>
Loading