Skip to content

Shubh0405/Charcha-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 

Repository files navigation

Charcha-app

Charcha is a chat application made using flutter and leveraging the power of Bloc architecture. This project aims to provide users with a seamless and responsive chatting experience while showcasing the advantages of using the Bloc pattern for state management.

Key Features:

  1. Flutter Framework:

  • Developed entirely with Flutter, a cross-platform UI toolkit, ensuring a consistent user experience on both Android and iOS devices.
  1. Bloc Architecture:

  • Utilizes the Bloc (Business Logic Component) architecture to manage the application's state in a clean and modular way.
  • Separates concerns by dividing the application into three main components: Events, States, and Blocs.
  1. User Authentication:

  • Implements a secure user authentication system using JWT, ensuring that only authorized users can access the chat application.
  • Both sign up and sign in features implemented in such a way that after entering email, user will be redirected to respective screen based on if they have already reistered or not.
  1. 1-to-1 chats and real-time messaging:

  • Real time messaging system created using websockets. Users will be able send messages and also receive them without refreshing the current screen as sockets will keep listening to new message events.
  1. Read receipts:

  • Read receipts are also created to show whether the receiver has opened the message or not. This feature is also implemented using Websockets and users can see the tick color changing from light grey to white when receiver opens the message.
  1. Parent Messages:

  • Users can reply to any previous message by just double clicking on the message.
  1. Dark Mode:

  • UI has been created for both light mode and dark mode lovers. Users will be able to select which mode they want for the app.

Backend

Backend of charcha is made using node.js with typescript, expressjs and mongoDB. Link to the backend repository: https://github.com/Akshat1903/charcha-backend

ScreenShots

Onboarding Screens:

Home + Seach + Chats Screens (Light mode):

Home + Seach + Chats Screens (Dark mode):

TODO:

  1. Profile creation and edit screens.
  2. Group chats.
  3. Call feature.

⭐️ If you find this project helpful, consider leaving a star to show your support! ⭐️