Skip to content
/ gatha Public
forked from gatha-afly/gatha

MERN stack group chat application utilizing socket.io, enabling bidirectional communication between clients and the server.

Notifications You must be signed in to change notification settings

Naeemi7/gatha

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gatha - get togetha

MERN stack group chat application utilizing socket.io, enabling bidirectional communication between clients and the server.

Desktop

App screenshot1

Mobile

App screenshot1 App screenshot2 App screenshot3

Project

Gatha is the final project of our Web Dev class at DCI. Our goal, as a group of 3 students within the 7-week project timeframe, was to deliver a functional chat application that our classmates could use on the day of the final presentation (December 14, 2023). We also aimed at writing DRY, clean and well-documented code. As a team, we are proud of the results and have decided to leave the project as is. If you are interested in our presentation slides, you can view them here.

Technologies

JavaScript React.js Node.js MongoDB Express.js Socket.IO JWT bcrypt HTML5 CSS3

Demo

Access the application here. Optionally, join our public demo group by entering group code 'YAZKQGRY' from within the application.

Team

Yesim Demir Abdulwase Naeemi Felix Schmidt
Yesim Demir Abdulwase Naeemi Felix Schmidt
Design Lead & Full-Stack Allrounder Backend & Socket.io Lead Frontend Lead & Product Manager

Key features

  • Design:

    • Responsive design including distinct page structure for smartphones.
    • Two different designs based on the user's logged-in status.
  • General:

    • User creation and authentication using JWT token security, with automatic logout when the token expires.
    • Group creation and management, allowing users to create groups, add other users (via sharing a human-readable group code or manually adding them), promote users to group admins, and remove non-admin users from groups.
    • Continuous synchronization of users' views and the database.
  • Chat:

    • Real-time messaging with other users in a group.
    • Rendering all groups of a user and allowing seamless switching between them.
    • Sending and deleting messages, always displaying the most recent message while allowing users to browse the entire group chat history.
    • Rendering group info, including a list of group members and their admin status, and allowing users to leave the group.
    • Displaying user online status and a typing indicator.
    • Emoji picker for desktop devices.
  • Development Tools:

    • Separate development deploy infrastructure (e.g., URL and database) to test on the web before pushing to production.

License

Gatha is licensed under the MIT License. MIT License

About

MERN stack group chat application utilizing socket.io, enabling bidirectional communication between clients and the server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 85.8%
  • CSS 12.4%
  • HTML 1.8%