azeezolaniran2016 / sms-management-api

A simple SMS Managagement API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sms-management-api

Build Status Coverage Status

Introduction

SMS Management API is an api for managing Contacts and Messages. It allows the following operations:

  • Creation of Contacts (with unique mobile numbers)
  • Creation of Messages which are linked to two Contacts: Sender and Receiver of the message
  • Deletion of Contacts - This deletes all messages sent by or received by the contact.
  • Updating Contact and Messages details.
  • And much more, if not already implemented, surely are in the works

Requirements

To be able to run this application locally, the following are required:

How To Use

This can be easily installed locally through these steps:

  • Clone the repository locally
  • Create a .env file in the root repository with the necessary environment variables as in the .env.example file
  • Create the Postgres databases specified in the .env DB URLs
  • Run npm install to install dependent Node packages
  • Run npm start to start the server

API Documentation

To interact with this service, you should use the API documentation available at Swagger Hub

How To Test

This application can be tested locally by running npm test

Roadmap

Project Roadmap

Contributors

How to Contribute

  1. Fork this repository to your GitHub account
  2. Clone the forked repository
  3. Create your feature branch
  4. Commit your changes
  5. Push to the remote branch
  6. Open a Pull Request

Task List

  • Setup Version Control System
  • Setup CI/CD using Travis for builds and Coveralls for coverage reporting
  • Add Integration tests
  • Implement Data Layer - Models, Migrations..
  • Implement Routes, Controllers, and API server
  • Implement Pagination through endpoints
  • Implement Searching through endpoints
  • Setup code style linting checks
  • Add UI

Technologies

sms-management-api is implemented using a number of technologies, these include:

  • node.js - evented I/O for the backend
  • chai - Assertion library for use with Mocha
  • express - Serves development and production builds]
  • mocha - JavaScript testing library
  • supertest - HTTP assertions made easy via superagent
  • faker - Generate massive amounts of fake data in the browser and node.js

About

A simple SMS Managagement API

License:MIT License


Languages

Language:JavaScript 100.0%