Skip to content

Latest commit

 

History

History
183 lines (143 loc) · 6.87 KB

README.md

File metadata and controls

183 lines (143 loc) · 6.87 KB


Logo

Mumble - Instant Messenger

This is a backend API which facilitates an instant messenger. It utilizes ejs to render web pages, Socket.io to provide live updates, and Express as the node.js framework.

Visit Live App

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage

About The Project

Screenshot 2024-03-20 at 5 40 26 PM Try it out

(back to top)

Roles

There are three roles for this application: user, channel admin, DB admin.

  • User - This is any user that has only registred and do not have any of their own channels. They have the ability to join channels that they have access to.
  • Channel Admin - This is a user who has created a channel. Once they've created a channel, they can delete it at any point in time.
  • DB Admin - This is a user who has access to the DB. Once logged into the DB, they can update an account to admin by changing a field. This admin can delete any channel, regardless of whether or not they created it. In additoin to this, a channel created by this role will include all of the current users of the application. Allowing any user to join this channel.

Built With

  • Node.js
  • Express
  • MongoDB
  • Render
  • Socket.io

(back to top)

Getting Started

In order to run this project locally, you will need to clone the repo, install dependencies, and create and create a .env file.

Prerequisites

Npm will be required.

  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo
    git clone https://github.com/colecody27/instant-messenger.git
  2. Install NPM packages
    npm install
  3. Create .env file in root directory with these variables. Set values as desired. .env
    DB_URL=''
    SALT=''
    PORT=''

(back to top)

Usage

Run localhost

npm run start

When attempting to message in a channel from multiple users on the same localhost. It may be necessary to create a browser instance and run in incognito mode in order to avoid cookie conflict.

(back to top)

Contact

Cody Cole - Linkedin: https://linkedin.com/in/cody-cole/

(back to top)