Skip to content

Latest commit

 

History

History
201 lines (165 loc) · 5.33 KB

README.md

File metadata and controls

201 lines (165 loc) · 5.33 KB

Covid-19 Vaccination (CovidProof App)

Table of Contents
  1. About The Project
  2. Features
  3. Tech Stack
  4. ER Diagram
  5. Modules
  6. Installation
  7. API Root Usage
  8. Contributors

REST API for an Covid-19 Vaccination app having UI based functionality.

  • We have developed this REST API for an Covid-19 Vaccination. This API performs all the fundamental CRUD operations to facilitate the citizen with an option to register and schedule the vaccination session online in the Centers of their choice.
  • To develop and build a database application for a real-world domain.
  • To The Citizen self-registration module will ensure fool-proof identification of deserving candidates for receiving the vaccines.
  • Developed by team of 4 Back-end Developers during project week in Masai School.

Features

  • User and Admin authentication & validation with session uuid having.
  • Login and LogOut functionality for both admin and user.
  • Front-End UI platform to showcase the functionality of application.
  • Admin Features:
    • Administrator Role of the entire application
    • Only registered admins with valid session token can add/update/delete vaccination module and vaccineCenter module or user from main database
    • Admin can access the details of different Users, Vaccine, Centers and Dose.
  • User Features:
    • Registering themselves with application, and logging in to it.
    • Search the available Center based on name, city, pin code and booking a Appointment.

(back to top)

Tech Stack

  • Java
  • Spring Framework
  • Spring Boot
  • Spring Data JPA
  • MySQL
  • Postman
  • Swagger
  • JavaScript
  • HTML5
  • CSS3

My Skills

(back to top)

ER Diagram


Modules

  • Admin Module
  • User Module
  • Appointment Module

Installation & Run

  • Before running the API server, you should update the database config inside the application.properties file.
  • Update the port number, username and password as per your local database config.
    server.port=8880
    spring.datasource.url=jdbc:mysql://localhost:3306/CovidProof
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=root

(back to top)

API Root Endpoint

https://localhost:8880/
http://localhost:8880/swagger-ui/index.html

Sample API Response for applicant/user Register

POST: http://localhost:8880/swagger-ui/index.html#/applicant-controller/registerApplicant

  • Request Body
{
  
  "name": "Subham Ranjan",
  "gender": "M",
  "dob": "1997-08-27",
  "age": 25,
  "address": "Badarpur, New Delhi",
  "city": "New Delhi",
  "state": "Delhi",
  "pincode": "110044",
  "mobile": "9311971746",
  "pancard": "65NL0CVX"
  
}

Response Body

{
  "id": 1,
  "name": "Subham Ranjan",
  "gender": "M",
  "dob": [1997,8,27],
  "age": 25,
  "address": "Badarpur, New Delhi",
  "city": "New Delhi",
  "state": "Delhi",
  "pincode": "110044",
  "mobile": "9311971746",
  "pancard": {
    "panNumber": "65NL0CVX"
  },
  "aadharcard": {
    "adNo": 224246106463,
    "mobile": "9311971746"
  },
  "doses": null
}


(back to top)

Sample API Response for applicant/user Login

POST: http://localhost:8880/swagger-ui/index.html#/applicant-controller/loginApplicant

  • Request Body
    {
        "Mobile": "9311971746",
        "dob": "1997-08-27"
    }
  • Response Body
  {
  "id": 1,
  "name": "Subham Ranjan",
  "gender": "M",
  "dob": [
    1997,
    8,
    27
  ],
  "age": 25,
  "address": "Badarpur, New Delhi",
  "city": "New Delhi",
  "state": "Delhi",
  "pincode": "110044",
  "mobile": "9311971746",
  "pancard": {
    "panNumber": "65NL0CVX"
  },
  "aadharcard": {
    "adNo": 224246106463,
    "mobile": "9311971746"
  },
  "doses": []
}

(back to top)

Contributors

(back to top)