MRanjith26 / API-calls-on-covid-Database

CRUD operations on covid Database using Express JS and SQLite3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Covid-19 India

Given two files app.js and a database file covid19India.db consisting of two tables state and district.

Write APIs to perform CRUD operations on the tables state, district containing the following columns,

State Table

Columns Type
state_id INTEGER
state_name TEXT
population INTEGER

District Table

Columns Type
district_id INTEGER
district_name TEXT
state_id INTEGER
cases INTEGER
cured INTEGER
active INTEGER
deaths INTEGER

API 1

Path: /states/

Method: GET

Description:

Returns a list of all states in the state table

Response

[
  {
    stateId: 1,
    stateName: "Andaman and Nicobar Islands",
    population: 380581
  },

  ...
]

API 2

Path: /states/:stateId/

Method: GET

Description:

Returns a state based on the state ID

Response

{
  stateId: 8,
  stateName: "Delhi",
  population: 16787941
}

API 3

Path: /districts/

Method: POST

Description:

Create a district in the district table, district_id is auto-incremented

Request

{
  "districtName": "Bagalkot",
  "stateId": 3,
  "cases": 2323,
  "cured": 2000,
  "active": 315,
  "deaths": 8
}

Response

District Successfully Added

API 4

Path: /districts/:districtId/

Method: GET

Description:

Returns a district based on the district ID

Response

{
  districtId: 322,
  districtName: "Haveri",
  stateId: 36,
  cases: 2816,
  cured: 2424,
  active: 172,
  deaths: 220,
}

API 5

Path: /districts/:districtId/

Method: DELETE

Description:

Deletes a district from the district table based on the district ID

Response

District Removed

API 6

Path: /districts/:districtId/

Method: PUT

Description:

Updates the details of a specific district based on the district ID

Request

{
  "districtName": "Nadia",
  "stateId": 3,
  "cases": 9628,
  "cured": 6524,
  "active": 3000,
  "deaths": 104
}

Response


District Details Updated

API 7

Path: /states/:stateId/stats/

Method: GET

Description:

Returns the statistics of total cases, cured, active, deaths of a specific state based on state ID

Response

{
  totalCases: 724355,
  totalCured: 615324,
  totalActive: 99254,
  totalDeaths: 9777
}

API 8

Path: /districts/:districtId/details/

Method: GET

Description:

Returns an object containing the state name of a district based on the district ID

Response


{
  stateName: "Maharashtra"
}


Use npm install to install the packages.

Export the express instance using the default export syntax.

Use Common JS module syntax.

About

CRUD operations on covid Database using Express JS and SQLite3


Languages

Language:JavaScript 100.0%