TazzDev / slack-clone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Slack clone

Building a replica of messenger app Slack on MERN stack

Release 0: What is slack?

Slack is a messaging app for teams. It brings all your team’s communication and files in one place, where they’re instantly searchable and available wherever you go. Slack has a concept of teams, and each team can have any number of channels. Members of the team can join channels, and the channels are where chats take place.

Release 1: User stories and Features list

User stories

  • Users can choose a nickname
  • Users should have profile page where they have their Full Name, Mood, Place of Work description
  • Users can join chatrooms of their own choice
  • Users can send messages to other users

Features

  • Live chat: Messages are stored at the database level with associated an user_idand channel_id. Message authors can freely edit and delete their own messages.
  • Channels: Messages are organized by their parent Channels. All users can freely create and join channels. Users will only keep track of messages and notifications for channels in which they are members.
  • Direct messages: Unlike regular channels, users can send direct messages to another user
  • Emojis: User can send emojis to another user or channel.

Release 2: Project work flow and testing

Use any preferred testing framework and write proper tests for routes, middleware etc.

Release 3: Version-ing

It is compulsory for this MileStone to make versions and use Trello. Your webapp needs to be divided into various versions with appropriate features. Do not start coding till you have done this. Take some time and create the 0.1,0.2, MVP etc.

Divide the work between you and your pair. How will you merge the FE and the BE once you're done? You should ideally have goals set in your versions where you can sync up your code and test that everything is working fine.

Breaking up the app will help you do this smoothly.

Also use Git branching and merging. It's a good opportunity to test your knowledge of git workflow and get some hands on experience with advanced git working.


Feature Creation Log

Harika - Firebase, Firebase Auth, FileModal and Message Saikiran - MessageForms, Messages, MessageHeader and ProgressBar Thomson - SidePanel, AddChannel

About


Languages

Language:JavaScript 95.8%Language:HTML 3.0%Language:CSS 1.1%