Skip to content

A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.

Notifications You must be signed in to change notification settings

shubhanshu24510/Social-Twitch

Repository files navigation

🎮 Social Twitch

License API Build Status

📱 A modern social media Android app built with Jetpack Compose, demonstrating features like chatting, posting, messaging, friend connections, image sharing, and responsive UI — powered by modern Android development tools.


✨ Features

  • 🔐 Authentication (Login & Signup)
  • 📝 Post creation, like, comment
  • 💬 Real-time chat & messaging
  • 🧑‍🤝‍🧑 Friend search & connection
  • 📷 Image sharing
  • 📱 Foldable-device friendly UI (Navigation Rail)
  • 🔎 Comprehensive search
  • 🌙 Material Design 3 theming

📸 Previews

🏠 Home Screen

Home Preview

📝 Post Detail Screen

Post Detail Preview

🧰 Tech Stack

🔹 Language & UI

🔹 Architecture & Patterns

  • MVVM Architecture
  • Repository Pattern
  • Offline-First Design

🔹 Networking & Backend

🔹 Dependency Injection & Persistence

🔹 Asynchronous & Serialization

🔹 Image Loading


🏛️ Architecture

Social Twitch follows Google's recommended architecture with UI Layer and Data Layer separation.

📐 Overview

Architecture Overview

  • Unidirectional Data Flow: UI sends events, Data layer streams state.
  • Loosely coupled and highly maintainable components.

🎨 UI Layer

UI Layer

  • Built using Jetpack Compose.
  • ViewModel observes app state and emits updates.
  • Supports configuration changes and lifecycle-aware UI.

📦 Data Layer

Data Layer

  • Repositories handle business logic.
  • Combines local (Room) and remote (Ktor) data sources.
  • Offline-first with "single source of truth".

🧩 Modularization Strategy

  • Reusability: Isolated feature and core modules
  • Parallel Builds: Faster CI/CD and dev builds
  • 🔒 Encapsulation: Strong visibility boundaries
  • 🧑‍💻 Team Scalability: Assignable modules per dev team

📘 Learn about Android App Modularization


🤝 Support

If you like this project, please consider ⭐ starring the repo and following me for more cool Android projects!

☕ You can also support my work by buying me a coffee:

Buy Me A Coffee


👉 GitHub @shubhanshu24510

About

A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.

Topics

Resources

Stars

Watchers

Forks

Languages