---
# System prepended metadata

title: Vaccine Management System (LP-1003)
tags: [Challenge1, FullStack]

---

# Vaccine Management System (LP-1003)

## General Requirements
<p>
In this assignment, you are to create a simple Vaccine Management application. You can make use of Bootstrap if you want quick ready-made templates. You are free to make any UI/UX decision.
</p>
<ul>
    <li>The application should have a login/signup page.</li>
    <li>Show list of vaccines once logged in.</li>
<li>The main vaccine page should only be accessible once authenticated.</li>
<li>Allow user to add new vaccine.</li>
<li>Allow user to edit existing vaccine detail.</li>
<li>Allow user to delete a vaccine.</li>
<li>Allow user to mark a vaccine a Mandatory.</li>
<li>Mandatory vaccines should always be listed at the top in alphabetical order.</li>
</ul>

## Application Requirements
<ol>
    <li>Create a suitable schema with the database of your choice.</li>
<li>Be RESTful.</li>
<li>Have proper access control.</li>
<li>Write Unit tests.</li>
<li>Do your best to implement and follow best practices, conventions, and standards under all aspects.</li>
</ol>


## API Requirements
<ol>
    <li>Create POST /signup endpoint for user signup. The endpoint should take email and password as payload.</li>
    <li>Create POST /signin endpoint for user signin. The endpoint should take the same payload as /signup.
</li>
    <li>Create a token-based authentication mechanism.</li>
    <li>Create GET /vaccine endpoint to fetch all vaccines.
</li>
    <li>Create POST /vaccine endpoint to add a new vaccine.
</li>
    <li>Create PUT /vaccine/{vaccine_id} to update a vaccine.
</li>
    <li>Create DELETE /vaccine/{vaccine_id} to delete a vaccine.
</li>
    <li>All endpoints need to be accessible only to authenticated users.
</li>
    <li>You will have to create a user and vaccine table for storing details.
</li>
    <li>The mandatory fields for a vaccine are Vaccine Name, Company Email,Company Contact,Vaccine created date, and Vaccine number of dose. You can choose all extra fields. (e.g., address, gender, notes…)</li>
    <li>Resize the vaccine image/photograph to a desirable size for a vaccine and upload the photographs to any free cloud storage service of your choice.
</li>
</ol>

## Your submission must include
<ol>
    <li>Application should be properly documented. Make sure to add all the information necesary to run the project.
    <ul>
        <li>Short Description of project.</li>
        <li>Frontend application screenshots.</li>
        <li>Techstack used in application</li>
        <li>Setup process.</li>
        </ul>
    </li>
    <li>Unit tests and test coverage report</li>
    <li>API Documentation (add to readMe.md)</li>
    <li>Postman Collection (add the public link to readMe.md)</li>
</ol>

<hr />

## Good to have
<ol>
    <li>Capability to add allergies.</li>
    <li>Time-bound token authentication. The access token must expire after a few minutes, regenerated using a refresh token.</li>
<li>Database connection abstraction to support more than one database connections.</li>
</ol>

<hr />

### References

For reference you can use following these images. But use your own judgement for the UI/UX and showcase your creativity. Our expectation is a proper UI/UX for Login, Registration, List and Form. 

#### Login / Registeration Page
![](https://i.imgur.com/Woic9aJ.jpg)

#### Vaccines List
![](https://i.imgur.com/A8s4i3n.png)

#### Vaccine Detail
![](https://i.imgur.com/ej5pbpv.png)

###### tags: `FullStack` `Challenge1`