/SageAuthors

A simple application for creating and sharing blog posts

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

SageAuthors

Codacy Badge Codacy Badge Build Status

SageAuthors is a platform for creating and sharing blog posts.

UI hosted on gh pages

  • pending

Server side hosted on Heroku

  • pending

API Documentation

  • pending

Table of Content

Getting Started

Prerequisites for installation

  1. Node js
  2. Express
  3. Git

Installation

  1. Clone this repository into your local machine:
e.g git clone https://github.com/davidshare/SageAuthors.git
  1. Install dependencies
e.g yarn install.
  1. Start the application by running the start script.

e.g yarn start (for production environment) or yarn start:dev(for development environment)

  1. Install postman to test all endpoints on port 3000.

Test

run test using 'yarn test'.

API End Points Test Using Postman

HTTP VERBENDPOINTFUNCTIONALITYREQUIRES AUTHENTICATION
POST /api/v1/auth/signup User signup No
POST /api/v1/auth/signin User signinNo
POST /api/v1/artices Creat a new articleYes
GET /api/v1/articles Get all articlesNo
GET /api/v1/articles/s/:slug Get an article by slug
GET /api/v1/articles/user Gets all articles for a particular userNo

Coding Style

  • Airbnb style guide.

Features

Admin

  • Admins can view all users
  • Admins can view all articles
  • Admins can block a user
  • Admins can block an article

Users

  • A user can create an account
  • A user can signin to his/her account
  • A user can view all articles
  • A user can update and delete his profile
  • A user can create an article
  • A user can update an article
  • A user can delete an article
  • A user can report an article
  • A user can follow another user
  • A user can react to an article
  • A user can share an article
  • A user can comment on an article
  • A user can reply to a comment on an article
  • A user can bookmark an article
  • A user can view the author profile

Built With

  • NodeJs-EXPRESS: Node.js is a javascript runtime built on Chrome's V8 javascript engine.

Author

  • David Essien

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE.md file for details.

Acknowledgement

  • pending