Node.js Chat app

General

    Create an express server
    How to do API validations
    Create basic skeleton for the entire application
    Setting up MongoDB (installation, setup in express)
    Creating users API + Database (Create a user, Get a user by id, Get all users, Delete a user by id)
    
    JWT (JSON web tokens) authentication (decode/encode) - Login middleware
    Web socket class that handles events when a user disconnects, adds its identity, joins a chat room, wants to mute a chat room
    Discussing chat room & chat message database model


For the API

    Initiate a chat between users
    Create a message in chat room
    See conversation for a chat room by its id
    Mark an entire conversation as read (similar to Whatsapp)
    Get recent conversation from all chats (similar to Facebook messenger)