Avengers Chat

💙 Android sample Avengers chat application using Stream Chat SDK based on MVVM (ViewModel, Coroutines, Room, Hilt, Repository) architecture.

Full Stack Web DevelopmentKotlinApache-2.0

Abstract

Avengers Chat is an open-source Full Stack Web Development project. 💙 Android sample Avengers chat application using Stream Chat SDK based on MVVM (ViewModel, Coroutines, Room, Hilt, Repository) architecture. AvengersChat demonstrates modern Android development based on MVVM architecture and Stream Chat SDK for Android. It is built using Kotlin, Android. Key capabilities include: Light and Dark themes; Different color themes by a chosen character; 100% offline mode supports. The complete source code is publicly available on GitHub under the Apache License 2.0, making it a useful reference for students building a Full Stack Web Development mini project or final-year project.

1. Introduction

AvengersChat demonstrates modern Android development based on MVVM architecture and Stream Chat SDK for Android.

With this loosely coupled architecture, you can increase the reusability of components and scalability of your app.

2. Objective

💙 Android sample Avengers chat application using Stream Chat SDK based on MVVM (ViewModel, Coroutines, Room, Hilt, Repository) architecture.

This project demonstrates how Kotlin, Android can be applied to a real-world Full Stack Web Development problem.

3. Key Features / Modules

  • Light and Dark themes.
  • Different color themes by a chosen character.
  • 100% offline mode supports.
  • Live stream chat example.
  • Channel and message lists.
  • Direct message and group messages.
  • Mentioned message list.
  • Custom emoji reactions.
  • Guest mode.
  • User online/offline status.

4. Technology Stack

KotlinAndroid
  • Minimum SDK level 21.
  • 100% Kotlin based + Coroutines + Flow for asynchronous.
  • Hilt for dependency injection.
  • Lifecycle: Dispose observing data when lifecycle state changes.
  • ViewModel: UI related data holder and lifecycle aware.
  • App Startup: Provides a straightforward, performant way to initialize components at application startup.
  • Navigation: For navigating screens and provides deeplinks.
  • Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Android Studio (latest)
  • JDK 17
  • Android device or emulator
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/GetStream/AvengersChat.git
cd AvengersChat

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add role-based access control
  • Deploy on a VPS or cPanel hosting with a custom domain
  • Add automated tests and a CI pipeline

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Explain the frontend, backend and database layers of this application.
  2. How is user authentication and authorisation implemented?
  3. Describe the main database tables / collections and their relationships.
  4. Which REST APIs or routes are exposed and what do they return?
  5. How would you deploy this application to production?

9. Source Code & License

This project is developed by GetStream and published on GitHub under the Apache License 2.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Full Stack Web Development project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Full Stack Web Development Internship