Skip to content

javlonovic/telegram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Telegram Clone β€” Flutter & Django

A modern Telegram-inspired messaging application built using Flutter and Django, focused on realtime communication, clean architecture, and scalable system design.


πŸš€ Project Overview

This project recreates the core experience of the latest Telegram Android application, combining modern mobile UI with a realtime backend infrastructure.

✨ Main Goals

  • πŸ’¬ Private messaging
  • πŸ‘₯ Groups & Channels
  • πŸŽ₯ Media messaging
  • ⚑ Realtime synchronization
  • 🎨 Telegram-style modern UI
  • 🧱 Scalable backend architecture

🧱 Tech Stack

πŸ“± Frontend

  • Flutter (Dart)
  • Riverpod β€” State Management
  • go_router β€” Navigation
  • Dio β€” Networking Layer
  • WebSockets β€” Realtime Communication
  • Material 3 UI

βš™οΈ Backend

  • Django
  • Django REST Framework
  • Django Channels
  • Redis (Realtime Layer)
  • PostgreSQL (Database)

πŸ— Architecture

The application follows Clean Architecture principles.

Flutter Structure

lib/
β”œβ”€β”€ core/        # themes, constants, utilities
β”œβ”€β”€ features/    # auth, chats, profile modules
β”œβ”€β”€ shared/      # reusable widgets & models
β”œβ”€β”€ services/    # API & websocket services
└── ui/          # screens & layouts

Backend Structure

telegram_backend/
β”œβ”€β”€ users/
β”œβ”€β”€ chats/
β”œβ”€β”€ messaging/
└── config/

✨ Planned Features

πŸ’¬ Core Messaging

  • Real-time text messaging
  • Message status (Sent βœ“ Delivered βœ“βœ“ Read βœ“βœ“)
  • Reply & Edit messages
  • Chat synchronization

πŸ‘₯ Groups

  • Member roles & permissions
  • Invite system
  • Group administration tools

πŸ“’ Channels

  • Broadcast messaging
  • Subscriber system
  • Post statistics

πŸŽ₯ Media Support

  • Images
  • Videos
  • Voice messages
  • Video circle messages
  • File sharing

πŸ‘€ User System

  • Authentication
  • User profiles
  • Privacy settings
  • Online presence tracking

⚑ Getting Started

1️⃣ Clone Repository

git clone https://github.com/javlonovic/telegram
cd telegram-clone

2️⃣ Frontend Setup (Flutter)

Install dependencies:

flutter pub get

Run application:

flutter run

3️⃣ Backend Setup (Django)

Create virtual environment:

python -m venv .venv
source .venv/bin/activate

Install requirements:

pip install -r requirements.txt

Run migrations:

python manage.py migrate

Start backend server:

python manage.py runserver

πŸ”Œ Environment Variables

Create a .env file:

DEBUG=True
SECRET_KEY=your_secret_key
DATABASE_URL=postgresql://user:password@localhost/db
REDIS_URL=redis://127.0.0.1:6379

🎨 UI Philosophy

Inspired by the latest Telegram Android design:

  • Minimal interface
  • Smooth animations
  • Fast navigation
  • Media-first messaging
  • Clean typography

πŸ“Έ Screenshots

🚧 Coming Soon


🧠 Learning Objectives

This project demonstrates:

  • Large-scale Flutter architecture
  • Realtime messaging systems
  • WebSocket integration
  • Backend scalability concepts
  • Production mobile UI design

πŸ“Œ Project Status

🚧 Active Development β€” Phase 1 (Foundation)


🀝 Contributions

Ideas, suggestions, and discussions are welcome.


πŸ“„ License

MIT License

About

A modern Telegram-inspired messaging application built using Flutter and Django, focused on realtime communication, clean architecture, and scalable system design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors