Skip to content

Django Server for storing Job Applicants CV and preliminary questions in a PostgreSQL database

License

Notifications You must be signed in to change notification settings

HatimZ/Applicant-Tracking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APPLICANT TRACKING SYSTEM.

Introduction

Organizations can use this application to collect RESUME/CV's and save applicants information like Salary, Experience, Visa Status etc in a Postgres database.

Later the database can be queried using a frontend UI or simply API's(SQL) to select specific candidates for jobs.

A Automatic Ranking System that ranks the candidates based on the phrases and keywords in their CV's will be implemented in this app.

Frameworks

Django Rest Framework - (Serializers)

Demo

This is the pure html form that gets served when the /apply API is called.

image

MIT License

Run Locally

You need python and Django installed to edit the and run the code.

Clone the project

  git clone https://github.com/HatimZ/Applicant-Tracking-System.git

Go to the project directory

  cd /Applicant-Tracking-System

Database Management

Install Postgres Database and Open PgAdmin. Create a new local webserver and create a table inside the server.

Use the following names and passwords. This snippet is from the project/settings.py file

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'candidate_db', # database name 
        'USER': 'postgres',     # user-name fixed
        'PASSWORD': 'pass123',  # password for Server, fixed
        'HOST': 'localhost',    # fixed
        'PORT': '5432',         # port for server fixed
    }
}

After creating the database server and the table. Run the below python commands, at the level of folder where manage.py is living.

Migrate Models to SQL commands

  python manage.py makemigrations

Apply those SQL commands

  python manage.py migrate

Run the local server

  python manage.py runserver

API Reference

Form

  GET /apply/get_form

Renders an HTML form that takes applicant information and CV/Resume as a pdf.

Submit data to database

  POST /apply/get_form
Parameter Type Description
email string Required.valid email
firstName string Required. User name
lastName string Required.valid email
experience-level string Required. experience-level
visa-status string Required visa-status
salary-expect string salary-expect
ph-no string ph-no
employment-status string Required employment-status
gender string gender
resume string Required. User name

The API saves user in a local Postgres table. There are two tables, one that saves the resume and other that saves all the other info. The resume table id is a foreign key in the candidate-tb so it is accessed from their.

Retreive data of a single Candidate based on their email address.

  GET   /api/details/hatim.zahid1996@gmail.com

image

The data is retreived with the help of a Serializer Class. Hence Django Rest Framework is used.

Last Page

  GET /apply/get_ending/

After the form is submitted the user is shown an ending page where he is told to wait for the company's response

🛠 Skills

Python , Django , Postgres , Database Design.

About

Django Server for storing Job Applicants CV and preliminary questions in a PostgreSQL database

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published