AnnounceIT

Stars
4
Committers
2

Description of AnnounceIT platform

What and Why AnnounceIT

Since the rise of the internet, more people have switched their attention from spending hours watching TV and listening to the radio or even reading newspapers to scrolling and tapping on their phones and laptops. Businesses can now reach more eyeballs online than the more traditional approaches.

AnnounceIT comes in as a solution to broadcasting agencies which will will allow them to be able to receive and manage announcements.

Features

  • User can sign up.

  • User can sign in.

  • User (advertiser) can create an announcement.

  • User (advertiser) can update details of an announcement.

  • User (advertiser) can view all his/her announcements.

  • User (advertiser) can view all announcements of a specific state - accepted, declined, active, deactivated, etc.

  • User (advertiser) can view a specific announcement.

  • User (admin) can delete an announcement.

  • User (admin) can change the status of an announcement.

  • User (admin) can view announcements from all users.

User Interfaces

API Endpoints Specifications

  • Api Roots : descholar-announce-it.herokuapp.com/api/v1
Endpoint Request Status Description
/ GET 200 OK Helps users to access to the parent api for the whole application
/auth/signup POST 201 CREATED Makes a post request to signup a new user and return access token
/auth/signin POST 200 OK Makes a post request to login an existing user and return an access token
/announcements/create-announcement POST 201 CREATED Makes a post request, for creating or saving a new anouncement
/announcements/get-all-announcement-for-current-user GET 200 OK Makes a GET request to retrieve all announcements created by the currently logged-in user
/announcements/get-specific-announcement/:announcementId GET 200 OK Makes a GET request, in order to get a specific announcement using its ID
/announcements/get-specific-announcement-by-status/:announcementStatus GET 200 OK Makes a GET request to retrieve all specific announcements using their statuses
/announcements/admin-get-all-announcements-from-all-users GET 200 OK Makes a GET request to retrieve all announcements posted by all users, this request is for admins only
/announcements/admin-delete-announcement/:id DELETE 200 OK Makes a DELETE request, to delete a specific announcement using its ID, this API is for admins only
/announcements/admin-change-announcement-status PATCH 200 OK Makes a PATCH request in order to update an announcement-status, this request if for admins only
/announcements/user-update-announcement-details PATCH 200 OK Makes a PATCH request allowed for a all users, who want to update his/her own announcement

Tools

Tools used for development of this API are;

Getting Started

Prerequisites

Make sure you have:

  • Node v10.15.0 or above
  • npm v6.4.0 or above
    Ready installed on you machine, check it by npm -v to check if you have npm, and node -v to check if you have node

Clone the Repo.

  1. git clone https://github.com/descholar-ceo/AnnounceIT.git
  2. cd AnnounceIT
  3. create a .env file in parent directory of the project
  4. add PORT=80801 hit enter TOKEN_KEY=announceit
  5. npm start

Deployment

Key contributor to development