Skip to content

Latest commit

 

History

History
154 lines (143 loc) · 8.41 KB

File metadata and controls

154 lines (143 loc) · 8.41 KB

Django Restfull API

This is Django Restful API for Person Identification based on Aadhar Number.
Basically, this api helps in creating Aadhar card and Related details.
On top of that it also has feature to filter and sort Personal Details based on Aadhar number and its active status.

REQUIREMENTS: Person Identification System

Workflow:

➢ Person Detailed Information can be retrieved using AADHAR
Number [E.g. Enter a Persons AADHAR Number and get all the details related to that AADHAR Number.].
➢ Basic User Sign in/Signup
➢ Only Token Authenticated User is Able to Create/Read/Update/Delete Information.
➢ Filter/Sort Person Details according to the following Tables.
➢ Person Active Status using AADHAR Number.
➢ Fetch/Sort Active / Inactive AADHAR Number.
➢ Create Individual Endpoints According to the following Tables.
[E.g. https://example.com/Aadhar/Address , https://example.com/Aadhar/Bank ]

Type of User:

▪ Manager - Create/View /Update/Delete
▪ Staff - View

TABLES:

1. AADHAR
 • Aadhar Number (Primary Key)
 • Is_Active (Boolean Field)
2. ADDRESS (Person can have Multiple Address)
 • Street
 • City
 • State
 • Postal Code
3. QUALIFICATION
 • Name of College / School
 • Year of Passing
 • Percentage
4. BANK
 • Account Number
 • Bank Name
 • IFSC Code
5. Personal Details
 • Full Name
 • Date of Birth
 • Blood Group
 • Contact Number (Person/ Individual can Have Multiple contact Number)
 • Email (Person/ Individual can have Multiple email id’s)
6. Past Job Experience
 • Company name
 • Job Role
 • Year of Work Experience

ASSUMPTIONS:

- SQLite Database
- Non Browsable API

Requirements.txt

 - python-3.8.10
 - django-4.0.4 pip install django==4.0.4
 - rest_framework-3.13.1 pip install djangorestframework

Run API

  1. Install Requirement.txt
  2. Run this Django API via python manage.py runserver
 (Default superuser username: admin, pass: admin123)
  3. Open POSTman (Used for request and response analysis)

Endoints

  [POST] Reqires: token | [user_id] in url, [role] in request body
/api/users/user_id/
  [POST] Reqires: [username, email, password1, password2] in request body
/api/signup/
  [POST] Reqires: [username, password] in request body
/api/signin/
  [GET] Reqires: token
/api/signout/
  [GET] Reqires: token
/api/aadhar/
  [POST] Reqires: token | [aadhar_no, is_active] in request body
/api/aadhar/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/
  [PATCH] Reqires: token | [aadhar_no] in url, [is_active] in request body
/api/aadhar/aadhar_no/
  [DELETE] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/address/
  [POST] Reqires: token | [aadhar_no] in url, [street, city, state, postal_code] in request body
/api/aadhar/aadhar_no/address/
  [GET] Reqires: token | [aadhar_no, address_id] in url
/api/aadhar/aadhar_no/address/address_id/
  [PATCH] Reqires: token | [aadhar_no, address_id] in url, [street, city, state, postal_code] in request body
/api/aadhar/aadhar_no/address/address_id/
  [DELETE] Reqires: token | [aadhar_no, address_id] in url
/api/aadhar/aadhar_no/address/address_id/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/qualification/
  [POST] Reqires: token | [aadhar_no] in url, [institute_name, passing_year, percentage] in request body
/api/aadhar/aadhar_no/qualification/
  [PATCH] Reqires: token | [aadhar_no] in url, [institute_name, passing_year, percentage] in request body
/api/aadhar/aadhar_no/qualification/
  [DELETE] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/qualification/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/bank/
  [POST] Reqires: token | [aadhar_no] in url, [account_number, bank_name, ifsc_code] in request body
/api/aadhar/aadhar_no/bank/
  [PATCH] Reqires: token | [aadhar_no] in url, [account_number, bank_name, ifsc_code] in request body
/api/aadhar/aadhar_no/bank/
  [DELETE] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/bank/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/personal_detail/
  [POST] Reqires: token | [aadhar_no] in url, [full_name, dob, blood_group] in request body
/api/aadhar/aadhar_no/personal_detail/
  [PATCH] Reqires: token | [aadhar_no] in url, [full_name, dob, blood_group] in request body
/api/aadhar/aadhar_no/personal_detail/
  [DELETE] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/personal_detail/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/personal_detail/contact/
  [POST] Reqires: token | [aadhar_no] in url, [contact] in request body
/api/aadhar/aadhar_no/personal_detail/contact/
  [GET] Reqires: token | [aadhar_no, contact_id] in url
/api/aadhar/aadhar_no/personal_detail/contact/contact_id/
  [PATCH] Reqires: token | [aadhar_no, contact_id] in url, [contact] in request body
/api/aadhar/aadhar_no/personal_detail/contact/contact_id/
  [DELETE] Reqires: token | [aadhar_no, contact_id] in url
/api/aadhar/aadhar_no/personal_detail/contact/contact_id/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/personal_detail/email/
  [POST] Reqires: token | [aadhar_no] in url, [email] in request body
/api/aadhar/aadhar_no/personal_detail/email/
  [GET] Reqires: token | [aadhar_no, email_id] in url
/api/aadhar/aadhar_no/personal_detail/email/email_id/
  [PATCH] Reqires: token | [aadhar_no, email_id] in url, [email] in request body
/api/aadhar/aadhar_no/personal_detail/email/email_id/
  [DELETE] Reqires: token | [aadhar_no, email_id] in url
/api/aadhar/aadhar_no/personal_detail/email/email_id/
  [GET] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/past_job_experience/
  [POST] Reqires: token | [aadhar_no] in url, [company_name, job_role, year_of_work_experience] in request body
/api/aadhar/aadhar_no/past_job_experience/
  [PATCH] Reqires: token | [aadhar_no] in url, [company_name, job_role, year_of_work_experience] in request body
/api/aadhar/aadhar_no/past_job_experience/
  [DELETE] Reqires: token | [aadhar_no] in url
/api/aadhar/aadhar_no/past_job_experience/
  [GET] Reqires: token | [is_active(True, False), aadhar_no, sort(descending, default=ascending)] in url
/api/personal_details/
  [POST] Reqires: [username, password] in body
/api-token-auth/