Skip to content

Tandem4/Tandem-Public-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tandem News

News In Perspective

Overview

Tandem-Public-API Repo contains the Web/API Server for the Tandem News Project.

Getting Started

1. Clone the latest version

Start by cloning the latest version of Tandem-Public-API on your local machine by running:

$ git clone https://github.com/Tandem4/Tandem-Public-API
$ cd Tandem-Public-API

2. Install Dependencies

From within the root directory run the following command to install all dependencies:

$ npm install

3. Set Up Environment Variables

// Nodemailer email service configuration for sending verification emails on signup
process.env.TANDEM_NODE_MAILER_SERVICE,
process.env.TANDEM_NODE_MAILER_USER,
process.env.TANDEM_NODE_MAILER_PASS

// Set JSON Web Token secret for signing JWT tokens
process.env.JWT,

// Set Redis host, port & password information for purposes of API throttling
process.env.TANDEM_DO_REDIS_HOST
process.env.TANDEM_DO_REDIS_PORT
process.env.TANDEM_DO_REDIS_PW

4. Getting started

To run the server, execute the below depending on the environment:

//Development environment
$ npm run start-dev

//Production environment
$ npm run start-prod

Site Architecture

Site Architecture

Sequence Diagram

Sequence Diagram

Schema Diagram

Schema Diagram

Folder Guide

├── README.md
├── dump.rdb
├── index.js
├── package.json
├── server
│   ├── api
│   │   └── v1
│   │       ├── api.js
│   │       ├── article
│   │       │   ├── articleController.js
│   │       │   └── articleRoutes.js
│   │       └── trend
│   │           ├── trendController.js
│   │           └── trendRoutes.js
│   ├── auth
│   │   ├── auth.js
│   │   ├── authController.js
│   │   └── authRoutes.js
│   ├── config
│   │   ├── config.js
│   │   ├── constants.example.js
│   │   ├── constants.js
│   │   └── mongoConfig.js
│   ├── middleware
│   │   ├── apiRateLimiter.js
│   │   └── appMiddleware.js
│   ├── server.js
│   ├── utils
│   │   └── mail.js
│   └── views
│       ├── admin.pug
│       ├── article.pug
│       ├── base.pug
│       ├── index.pug
│       ├── login.pug
│       └── signup.pug
└── test
    └── test.js

Tandem Team

  • Product Owner : Asifuzzaman Ahmed
  • Scrum Master : Nicole Skoglund
  • Development Team : Asifuzzaman Ahmed, Nicole Skoglund Brett Lensvelt, Kani Munidasa

Contributing

See CONTRIBUTING.md for contribution guidelines.

About

Public API for the Tandem News Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •