CheckList Api

created with django rest framework and JWT(Json Web Tokens for Authentication)


This API is created with help of Django rest framework and for user authentication , I have used JWT(Json Web Tokens).
Working of API : In this Api user can Checklist just like todolist, but not similar to todoList . In TodoList we can only add todo ,but can’t add subitems in todo .
But in CheckList API we can create CheckList and add Subitems in created checklist .

Api Features

  • User Authentication by JWT
  • User Authorization(logedin user can only see his/her data.)
  • User Can peforn CURD operation on database in order to retrive his/her data .

Auth system

All the requests made to the API need an Authorization header with a valid token and the prefix Bearer

Authorization: Bearer <token>

In order to obtain a valid token it’s necesary to send a request POST /api/login/ with username and password. To register a new user it’s necesary to make a request POST /api/register with the params/form data:

username String
password String
password2 String

End Points


  • POST /api/login/
  • POST /api/register/
  • POST /api/logout/

Endpoints to access CheckList

  • GET /api/checklist/ — Get all CheckList data
  • POST /api/checklist/ — Create CheckList data
  • GET /api/checklist/{CheckList_id} — Get specific CheckList data
  • PUT /api/checklist/{CheckList_id} — To Update specific CheckList data
  • DELETE /api/checklist/{CheckList_id} — To Delete specific CheckList data

Endpoints to access CheckList

  • GET /api/checklist/ — Get all CheckList data
  • POST /api/checklistItem/create/ — Create CheckListItem data
  • GET /api/checklistItem/{CheckListItem_id} — Get specific CheckListItem data
  • PUT /api/checklistItem/{CheckListItem_id} — To Update specific CheckListItem data
  • DELETE /api/checklistItem/{CheckListItem_id} — To Delete specific CheckListItem data


Refer this Documentation Pdf for more details builded with Django REST Swagger

Installation process

Install the system dependencies

  • git
  • pip

Get the code

  • Clone the repository
    git clone

Install the project dependencies

pip install -r requirements.txt

Run the command to generate the database

python migrate

Generate super user

python createsuperuser

Run the server

python runserver the application will be running on port 8000

Enjoy API


View Github