/PostIt

A JavaScript application that allows users communicate with each other through groups

Primary LanguageJavaScriptMIT LicenseMIT

PostIt

Build Status Code Climate Coverage Status

Introduction

PostIt is a JavaScript application that allow registered users communicate with each other via groups. It allows you post messages and retrieve messages from groups you belong to. It includes a well structured API documentation that can be used by anyone.

You can view the deployed application here

Features

  • It has the following features:
    • Creating an account
    • Signing in as an existing user
    • Creating a new group
    • Adding new users to groups
    • Display all users in a group
    • Post messages to groups in real-time
    • Display posted messages
    • Search for users in a group
    • Reset password
    • Receive email notification when a message is posted in the group you belong to based on priority level i.e Normal, Critical and Urgent

Project Dependencies

  • Dependencies

    • axios: A JavaScript library used to make http requests from nodejs or XMLHttpRequests from the browser
    • babel-cli : Used to transpile es6 code to es5 on the command line
    • babel-preset-es2015: Plugin that adds support for es6
    • babel-preset-react : Plugin that adds support for jsx
    • bcryptjs : Used to hash passwords
    • dotenv : Used to load environment variable from .env file
    • express : Web application framework. Used as application web server.
    • jsonwebtoken : Used to create access tokens that asserts some number of claims.
    • react : A Javascript library for building user interfaces
    • sequelize : Sequelize is a promise-based Node.js ORM for Postgres, MySQL, SQLite and Microsoft SQL Server. It features solid transaction support, relations, read replication and more.
  • Development Dependencies

    • chai : Chai is a BDD/TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework
    • coveralls : Coveralls.io support for node.js. Get the great coverage reporting of coveralls.io and add a cool coverage button to your README.
    • istanbul : a JavaScript code coverage tool.
    • supertest : HTTP assertions made easy via superagent.

Installation and Setup

  • Navigate to a directory with your terminal
  • Clone this repo to your directory
  • Using HTTP; $ git clone https://github.com/enodi/PostIt.git
  • Using SSH; $ git clone git@github.com:enodi/PostIt.git
  • Navigate to the repo directory
  • $ cd postit
  • install app dependencies
  • $ npm install
  • Run the app

Tests

  • The tests were written using Mocha, Supertest and Chai.
  • To run test, navigate to app directory
  • run test
  • $ npm test

Want To Contribute?

API Documentation

For detailed information on how to use api, view api documentation

FAQ

  • Click here to read our FAQ.

License

Author

Enodi Audu - @enodi