Skip to content

Latest commit

 

History

History
122 lines (91 loc) · 3.22 KB

File metadata and controls

122 lines (91 loc) · 3.22 KB

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.