Skip to content
/ InBox Public

InBox is a social media app built with Flutter and Firebase, following Clean Architecture principles. It offers secure authentication, real-time messaging, post creation, and user interactions, leveraging Firebase for backend services and Flutter for a seamless cross-platform experience.

License

Tolbaax/InBox

Repository files navigation

InBox Application

InBox Logo

Flutter Version Dart Version License Status

Feature-rich open-source social media and messaging platform built with Flutter and Firebase


📋 Overview

InBox is an open-source Flutter application that blends social networking and real-time messaging into a smooth, modern user experience. Whether it's posting content, chatting with friends, or following users, InBox provides an engaging and performant platform with Firebase-backed infrastructure.

⚠️ Note: This project is open-source and under active development. Contributions are welcome!


✨ Key Features

🔐 Authentication

  • Email & password login
  • Secure Firebase Authentication
  • Profile with picture, name, and status
  • Account deletion support

📱 Social Networking

  • Create image, video, or text posts
  • Like, comment, and reply to posts
  • Follow/unfollow users
  • Save posts for later
  • User discovery with search

💬 Messaging

  • Real-time chat
  • Seen receipts
  • Message reactions with emoji picker
  • Threaded replies
  • Delete for self or all
  • Online/offline indicators

🔔 Notifications & UX

  • Push notifications via FCM
  • Auto-scroll to new messages
  • Profile and media caching
  • Lottie & Rive animations
  • Optimized initial loading
  • Image cropper

🧠 Tech Stack


Flutter

Firebase

Dart
  • Frontend: Flutter SDK (v3.24.5)
  • State Management: BLoC pattern (Cubit)
  • Backend Services: Firebase
    • Authentication, Firestore, Cloud Storage, Messaging, Crashlytics
    • Firestore batch writes for optimized performance
  • Notifications: Firebase Cloud Messaging (FCM)
  • Animations: Lottie & Rive
  • Storage: Local caching using native Flutter solutions

🧪 Upcoming Features

  • Notifications for likes, comments, follows
  • Audio/video calling (1-on-1 & group)
  • Group chat support
  • Share posts inside chat
  • Profile sharing (internal & external)
  • Media dimension control
  • Dark mode
  • Infinite scrolling for feed
  • Custom gallery grid view
  • Post sharing functionality
  • Comment management: like/reply/delete
  • GIF, music, location in posts
  • 24-hour disappearing stories
  • Typing indicators in chat
  • Deep linking support
  • Web platform support
  • Codebase cleanup & optimization

🏗️ Architecture

The application implements a clean architecture pattern with clear separation of concerns:

Clean Architecture

Layers

  • Presentation Layer: User interfaces and state management

    • Screens, widgets, and Cubit/BLoC controllers
    • Responsive layouts and UI animations
  • Domain Layer: Business logic and use cases

    • Entities, use cases, and repository interfaces
    • Decouples UI from data sources
  • Data Layer: Firebase-backed data operations

    • Firestore, Auth, Storage, Messaging integrations
    • Repository implementations, DTOs, and data mappers
  • Core: Cross-cutting concerns and shared utilities

    • Constants, error handlers, extensions, logging, helpers
    • Dependency injection setup
  • Configuration: Application-wide settings

    • Routing (GoRouter), theming, localization, Firebase init
    • Environment configs and app-level bootstrap

📊 Project Status

Current Phase: Alpha Development
Stability: Experimental
Availability: Open Source (Public Repository)

This application is currently in active development. Contributions are welcome as we work toward a stable, production-ready release.


📄 License

This project, InBox, is open source and available under the MIT License.

Feel free to use, modify, and share it in compliance with the license terms.


Built with ❤️ by the InBox Team

About

InBox is a social media app built with Flutter and Firebase, following Clean Architecture principles. It offers secure authentication, real-time messaging, post creation, and user interactions, leveraging Firebase for backend services and Flutter for a seamless cross-platform experience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published