Nedson202 / population-manager

The Population Management System contains a list of locations and the total number of residents in each location broken down by gender.

Home Page:https://population-manager-api.herokuapp.com/api/v1/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Population Manager

The Population Management System contains a list of locations and the total number of residents in each location broken down by gender.

Hosted API

https://population-manager-api.herokuapp.com/api/v1/

Requirements

  • Node.js v10.x or higher
  • MongoDB instance
  • yarn

Project Structure

  ├── controllers
  │   ├── LocationController.js
  │   └── index.js
  ├── db
  │   └── index.js
  ├── index.js
  ├── middlewares
  │   ├── errorHandler.js
  │   ├── index.js
  │   ├── validateLocation.js
  │   └── validator.js
  ├── models
  │   ├── Location.js
  │   ├── SubLocation.js
  │   └── index.js
  ├── routes
  │   ├── index.js
  │   └── locations.js
  ├── test
  │   └── locations.test.js
  └── utils
      └── index.js

Installation

$ git clone https://github.com/Nedson202/population-manager.git
$ cd population-manager
$ yarn
$ yarn start:dev               # Start the development environment
$ yarn start                   # Run the production build

Note

You need to create a .env file and use the .env.sample as a guide to add your development details.

You can access the API via http://localhost:4000/api/v1/

Project Details

Location:

location name
total male count
total female count
total number of residents

The following can be performed on a location:

  • Create a new location containing data on the total number of male and female residents within it. Please note that locations can be nested within other locations
  • View a list of all available locations and their population summaries (total male residents, total female residents, sum total residents)
  • Update data for a specific locations
  • Delete a specified location

Usage

HTTP VERB Description Endpoints
Post Creates a location /api/v1/locations
GET Retrieves a list of all locations /api/v1/locations
PUT Updates data for a specific location /api/v1/locations/:locationID
DELETE Deletes a specified location /api/v1/locations/:locationID

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please endeavour to update tests as appropriate.

About

The Population Management System contains a list of locations and the total number of residents in each location broken down by gender.

https://population-manager-api.herokuapp.com/api/v1/


Languages

Language:JavaScript 100.0%