Synchronous Communication Platform

This project is to create an open-source web-based synchronous communication platform akin to Slack/Discord that allows for organizations, groups, individuals, etc. to customize the application to their needs.

Objectives


The primary objectives/deliverables for this project are:

  • A fully functional web-based chat platform that allows users to register, login and logout, and participate in real-time communication.
  • Direct messaging between users
  • Notification system for new messages/mentions
  • Member list showing current users
  • User status indicators (Online, Away, Offline)
  • Basic emoji support

The basic minimum viable product would be putting all users into a single chatroom with support for direct messaging, a notification system for new messages/mentions, user status indicators, and basic emoji support.

Stretch Goals:

  • Guild/Server instances with both private and public channels.
  • Role-based access control and moderation tools
  • Custom emoji support
  • Downloadable client for desktops (making an iOS and Android version as well would probably take too long to complete within 3 months)

Motivations


The primary motivation behind this project is the necessity of a reliable and efficient online communication platform across both professional and personal settings. While tools like Discord and Slack already exist, this solution is designed to be an open-source alternative that can be adapted according to need (as opposed to Discord being catered towards games and Slack being catered towards businesses) and allows anyone to personalize the communication tool to their needs.

Qualifications


Minimum Qualifications:

Experience with web development skills including HTML, CSS, JS, and a back-end language including database knowledge/experience.

Preferred Qualifications:

Experience with web development frameworks including front-end frameworks such as React, Vue, Angular, etc. and a back-end framework such as Spring Boot, NodeJS, Django, etc. Knowledge/experience with WebSocket, integration of third-party APIs, and messaging systems like RabbitMQ.


Details


Project Partner:

Samarendra Hedaoo

NDA/IPA:

No Agreement Required

Number Groups:

2

Project Status:

Accepting Applicants

Card Image Capstone