RChat is a Group Chat Application made using Flutter, Docker and RethinkDB.
Services Provided are: User Service Message Service, Receipt Service, Typing Notification Service.
These instructions will get you a copy of the project set-up and running on your local machine for development purposes.
To clone this repository copy and paste the following command in your terminal.
git clone https://github.com/restless226/rchat.git
These are the prerequisites that you will need to run this app for your own.
- This app uses Docker and NodeJS so you will have to create one container and npm server for yourself.
- Android Studio - To build the app for Android devices.
- XCode - To build the app for IOS devices.
- A cross-platform group chat application using AES end to end message encryption.
- Used Bloc Providers and Cubits for state management and performed widget tests for services.
- Flutter, Docker, RehinkDB, NodeJS, Sqflite, Android, Dart.
- Flutter - The framework
- Docker - The framework
- RethinkDB - The open-source database
- Dart - The programming language
- BlocProvider - For State Management and dependancy injections.
- Cubit - For State Management.
- testUI - For Widget Testing.
- RethinkDB - For RethinkDB database usage.
- sqflite - For creating Chats and Messages tables.
- Encrypter - For two-way AES implementation.
- npm - For storing Profile Images on node server.
- Shared Preferences - For caching some data.
- Google Fonts - For the fonts.
Without Profile Pic | With Profile Pic Light | With Profile Pic Dark |
---|---|---|
![]() |
![]() |
![]() |
Group Creation Selecting Members | Group Creation Screen | Group Created |
---|---|---|
![]() |
![]() |
![]() |
Group Chat Unread Message |
---|
![]() |
Group Chat Typing Notification |
---|
![]() |
Active Chats | Active Chats Dark Theme | Unread Message is Prioritized over Groups |
---|---|---|
![]() |
![]() |
![]() |
Online Status |
---|
![]() |
Chats Both Sides |
---|
![]() |
Message Threads Screen Seup | Message Sent Working |
---|---|
![]() |
![]() |
Message Sent |
---|
![]() |
Message Read |
---|
![]() |
Message Typing Notification |
---|
![]() |
Multiple Messages Scroll Till End |
---|
![]() |
Unread Message |
---|
![]() |
Unread Message |
---|
![]() |
Unread Chat goes to top |
---|
![]() |