A open chat application for intradepartmental communications

Overview

Android-Study-Jams

Thought Board DUCS

Problem Statement:

In Department of Computer Science, University of Delhi, students from MCA and MSC Computer Science, work together on multiple occasions and colaboration on these events need a large number of students to be brought at one place for sharing their thoughts. This process leads to the creation of innumerous Whatsapp groups every year. These groups in-turn remains as a part of students chat history and can't be accessed by the students of the next academic year (if they want to access ideas/resources). Also, there is a limit of 256 members on the number of participants in a whatsapp group hindering a proper communication between seniors & juniors, and not every students agrees to make an account on some other services like Signal, Telegram, etc. This overall screnario creates a feeling of detachment among the students.

Proposed Solution :

This project proposes an Open-Chat Android Application for intradepartmental communications for Department of Computer Science, University of Delhi. In this application,

  • the users can only login with DUCS domain email id (ending with @cs.du.ac.in), discarting the need of account creations, since every student gets a departmentally issued email id on admission
  • the sign in flow uses google's one tap for better authentication experience
  • the messgaes are displayed date wise and messages of ex-students will also be available for new students of further academic sessions
  • there is no limit on the number of users (active at a time), since only the currently working students will have access to the application.
  • the messages are grouped by dates for a better access to specific event related messgaes/resources.
  • the user can reply on any message(post) though the email reply button on the message screen
  • the author of the message can delete his/her messages while he/she is an active students of the department (or they can contact the admin for message deletion)

Functionality & Concepts used :

  • The App has a very simple and interactive interface which allows the students to send and read messages (with a title) authenticated by their Departmental Domain Emails. Following are few android concepts used to achieve the functionalities in app :
  • Constraint and Linear Layout : Most of the activities in the app uses a flexible constraint layout, which is easy to handle for different screen sizes. Some activities also use a linear layout for better presentation.
  • Simple & Easy Views Design : Use of familiar audience EditText with hints and interactive buttons made it easier for students to sign in and send messages without providing any detailed instructions pages. Apps also uses App Navigation to switch between different screens.
  • RecyclerView : To present the list of messages, we used the efficient recyclerview.
  • Room Database : The user signup details, including, username and email are saved using Room Database. Also we are planning to save favourite messages locally in Room Database, in the future releases.
  • Firebase Realtime DB : For serving data to the appication and provide a better performance and offline caching. We are using the Spark Plan of firebase with 1Gb storage and 10Gb data transfer that is planned to be upgraded in future depending on the usage & audience's response on the applications.
  • LiveData : We are also using LiveData to update & observe any changes in the Date Picker and Messages(Posts) Array from firebase realtime database.
  • Viewmodel : We have implimented a Viewmodel setup for handing the data and api requests for the the NewMessage screen.

Application Link & Future Scope :

The app is currently in the Alpha testing phase with 2021-22 batch students of Department of Computer Science, University of Delhi, You can access the app here : APP LINK HERE.

Once the app is fully tested during the Sankalan'21 event (the annual departmental fest event), we plan to make it the primary mode of communication and resource sharing with the addition of features like:

  • support for sharing docs and links
  • grouping messages by themes/hashtags/events
  • feature for saving favourite messages locally or on cloud
  • external sharing of meaages on social media and other chating applications
You might also like...
Android Real Time Chat & Messaging SDK
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Kommunicate.io Android Chat SDK for Customer Support
Kommunicate.io Android Chat SDK for Customer Support

Kommunicate Android Chat SDK for Customer Support An Open Source Android Live Chat SDK for Customer Support Overview Kommunicate provides open source

Wurst Plus 3 Chat Server

Wurst Plus 3 Chat Server This is a server for wurst + 3! Ideas/TODO Friend requests Secure key for clients DMs Global Chat Friend's Online Color/rainb

Simple chat box written in kotlin, requires a redis server
Simple chat box written in kotlin, requires a redis server

Chat Box A simple chat box written in kotlin which requires a redis server to be used. Features Command Support Online User storage in Redis Easy to u

A private-chat-only Android App for Secure Scuttlebutt
A private-chat-only Android App for Secure Scuttlebutt

Tremola README Tremola is a Secure Scuttlebutt (SSB) client for Android that only supports private chat. Tremola aims at having the same functionality

Fire Chat
Fire Chat

Fire Chat A one-to-one chat app (similar to WhatsApp) built using Kotlin and Firebase. Sceenshots Whenever a user will enter the app a registration pa

Jetchat is a sample chat app built with Jetpack Compose.
Jetchat is a sample chat app built with Jetpack Compose.

Jetchat sample Jetchat is a sample chat app built with Jetpack Compose. To try out this sample app, you need to use Android Studio Arctic Fox You can

Biblioteca Kotlin com objetivo de facilitar a criação de aplicações de Chat e Chatbots voltadas a Twitch.

Twitch4K O Twitch4K é uma biblioteca Kotlin que tem como objetivo principal facilitar a criação de aplicações de Chat e Chatbots voltadas para a plata

This command line program can extract chat messages send on the Minecraft server HGLabor

HGLabor-Log-Extractor Das Programm durchläuft einmalig deine Minecraft-Logs und sammelt alle Nachrichten heraus, die auf HGLabor geschrieben wurden. K

Comments
  • Integrate `HomeScreenFragment` with `MessageViewModel`

    Integrate `HomeScreenFragment` with `MessageViewModel`

    This PR integrates the functionality defined in the MessageViewModel implementation, for connection with the database, with the HomeScreenFragment and NewMessageFragment.

    • Both fragments now use an instance of MessageViewModel to communicate with the FireStore database.
    • The adapter defined for the recycler view in HomeScreenFragment now inherits from ListAdapter, to be able to use DiffUtil support for better performance.
    • An initial setup for navigation among fragments has also been added, utilizing the Safe Args gradle plugin.
    opened by kinshuk-h 1
  • Setup the Room Database

    Setup the Room Database

    This PR adds the implementation of the required entities for Users and Posts (Messages), along with the DAOs for queries.

    Entities:

    • User (tableName = users) Column/Attribute | Type | Properties ---|---|--- name | TEXT | - email | TEXT | PRIMARY KEY

    • Post (tableName = posts) Column/Attribute | Type | Properties | Remarks ---|---|---|--- id | INTEGER | PRIMARY KEY AUTOINCREMENT | - email | TEXT | FOREIGN KEY('users.email') ONDELETE CASCADE | - created_date | LONG | - | UNIX timestamp of the date of creation of the post, deserialized to java.util.Date title | TEXT | - | - message | TEXT | - | -

    Current query operations, exposed as DAOs:

    • UserDao:

      • insertUser
      • deleteUser
      • updateUser
      • getUsers (for all users)
      • getUserByEmail (for a specific user)
    • PostDao:

      • insertPost
      • deletePost
      • updatePost
      • getPosts (for all posts)
      • getPostsByEmail (for posts created by a specific user)
      • getPostsByDate (for posts created on a specific date)
    opened by kinshuk-h 0
Releases(0.0.1-alpha.1)
  • 0.0.1-alpha.1(Jan 10, 2022)

    First release is out for Testers💝🥳

    Please try the application and provide feedbacks within the app.

    What's Changed

    • Created Home Screen Layout by @RishiSingh00 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/1
    • HomeSignIn Screen by @javedsir301 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/2
    • Create App Icon by @javedsir301 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/4
    • Setup the Room Database by @kinshuk-h in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/3
    • Created UI for New Message Screen by @RishiSingh00 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/6
    • recycle_view by @ishika-saini in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/5
    • create viewModel for NewMessage Screen by @RishiSingh00 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/7
    • updated by @ishika-saini in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/8
    • Integrated the Code for One Tap sign in by @shivpujan12 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/9
    • Changed the AuthDecoder to Kotlin by @shivpujan12 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/10
    • About Us Activitiy by @PoojasahuCsDU in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/11
    • message screen layout by @trickstereagle in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/12
    • Add files via upload by @sjain1720 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/13
    • splash screen by @sjain1720 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/14
    • Firebase viewModel implementation by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/15
    • fixed splash screen by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/16
    • email_button to open gmail and visibility of email/delete button by @PoojasahuCsDU in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/17
    • Converted the AboutUsActivity into AboutUsFragment and created a Nav Graph by @Divyansh-22 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/18
    • Integrate HomeScreenFragment with MessageViewModel by @kinshuk-h in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/19
    • Added Navigation between different fragments by @Divyansh-22 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/20
    • switched to one tap sign in by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/21
    • Fix empty content when no messages exist by @kinshuk-h in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/22
    • Added the method to handle the Up buttons and added animation by @Divyansh-22 in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/23
    • fixed datetime for api26 and below by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/24
    • date auto forward bug fix by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/25
    • message detail done by @mukuzz in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/26

    New Contributors

    • @RishiSingh00 made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/1
    • @javedsir301 made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/2
    • @kinshuk-h made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/3
    • @ishika-saini made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/5
    • @shivpujan12 made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/9
    • @PoojasahuCsDU made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/11
    • @trickstereagle made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/12
    • @sjain1720 made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/13
    • @mukuzz made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/15
    • @Divyansh-22 made their first contribution in https://github.com/joshidipesh12/ThoughtBoard-DUCS/pull/18

    Full Changelog: https://github.com/joshidipesh12/ThoughtBoard-DUCS/commits/0.0.1-alpha.1

    Source code(tar.gz)
    Source code(zip)
    thoughtboard_ducs_0.0.1_alpha_1.apk(7.57 MB)
Owner
Dipesh Joshi
Up Next, a path of Explorations. Building The Future!🚀
Dipesh Joshi
Server/Client Chatting application that allows to choose to chat in a group chat or privately to a specific connected user

ktor_chatting_application Server/Client Chatting application that uses Ktor webs

null 10 Jun 14, 2022
Multi Lingual Chat app - A modern chat application that allows users to translate text messages into their preferred language

Multi Lingual Chat app - A modern chat application that allows users to translate text messages into their preferred language

Manjunath Nayak 0 Jan 18, 2022
Firebase-Chat-App-Final - An android real-time chat application implemented using firebase

Firebase-Chat-App-Final An android real-time chat application implemented using

Tanmay Nandanikar 4 Sep 10, 2022
Shit Chat is a realtime chat application made with Kotlin.

Shit Chat Shit Chat is a realtime chat application made with Kotlin. Screeshots : Login UI Sign Up UI User List UI Chat UI Features Store Chat on Fire

Vishal Singh 2 Oct 26, 2022
This is a Bluetooth operational Chat-App developed using Kotlin which shows the list of available devices nearby and paired devices, upon clicking you can start chat

This is a Bluetooth operational Chat-App developed using Kotlin which shows the list of available devices nearby and paired devices, upon clicking you can start chat ... VOILA ???? It is still in its early stages of development and currently let user to one-time chat at a time. It is under heavy development ??

Shalu Ambasta 3 Jan 10, 2022
Chat App is built to demonstrate a simple end-to-end chat encryption using RSA and AES algorithms

End-to-End Encrypted Chat ?? Chat App is built to demonstrate a simple end-to-end chat encryption using RSA and AES algorithms Built With ⚒️ Jetpack C

Team Matrix 6 Dec 23, 2022
A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

A hybrid chat android application based on the features of Instagram and Whatsapp having UI just as Telegram.

Ratik Tiwari 1 May 22, 2022
AvengersChat is a demo application based on modern Android tech stacks and Stream Chat SDK.

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

Stream 352 Dec 25, 2022
A Chat-Bot Android Application

Sekobanashi_App A Chat-Bot Android Application. Features Sekobanashi is a chat-bot/assistant android application where the user can chat with one of t

Siddharth Singh 3 Nov 5, 2022
Android Combined Application for chat, audio/video calls, and broadcast to millions of web and app users using VdoTok SDK.

Android Combined Application for chat, audio/video calls, and broadcast to millions of web and app users using VdoTok SDK.

VdoTok 3 Nov 22, 2022