0% found this document useful (0 votes)
17 views3 pages

Django Job Application Portal Development

The document outlines the development of a Django-based job application portal featuring separate dashboards for applicants, recruiters, and admins. Key functionalities include job posting, application management, JWT authentication, and background tasks using Celery and Redis. It also specifies user roles, models, API endpoints, security measures, and optional bonus features, with an expected completion time of 5-7 days for a mid-level developer.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views3 pages

Django Job Application Portal Development

The document outlines the development of a Django-based job application portal featuring separate dashboards for applicants, recruiters, and admins. Key functionalities include job posting, application management, JWT authentication, and background tasks using Celery and Redis. It also specifies user roles, models, API endpoints, security measures, and optional bonus features, with an expected completion time of 5-7 days for a mid-level developer.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Django/Python Task: Job Application Portal

Task Objective

Develop a Django-based job application platform with the following features:

- Separate dashboards for Applicants, Recruiters, and Admin

- Post jobs, apply to jobs, and review applications

- Use Django Rest Framework (DRF) for APIs

- Use Celery + Redis for async background task (email notifications)

- Implement JWT Authentication using djangorestframework-simplejwt

- Write unit tests for key functionalities

Functional Requirements

User Roles:

Admin: Full control, view all users and jobs, moderate content.

Recruiter: Can create, update, archive job listings; view applicants.

Applicant: Can register, upload resume, apply to jobs.

Models to Include

- User (with extended roles)

- JobPost (title, description, type, salary range, location, active/archive)

- Application (FK to JobPost and User, status: Applied/Rejected/Shortlisted)

- Resume (FileField, linked to user)

- CompanyProfile (for recruiters)

API Endpoints (DRF)

- /auth/register and /auth/login (JWT)

- /jobs/ list/create/update/archive

- /jobs/<id>/apply/ applicant applies

- /dashboard/applicant see applied jobs

- /dashboard/recruiter manage jobs & applications


Django/Python Task: Job Application Portal

- /admin-panel/users/ list, block/unblock users

Background Tasks (Celery + Redis)

- On application submission:

* Email to applicant (confirmation)

* Email to recruiter (new application alert)

Security

- JWT authentication

- Role-based access permissions

Testing

- Unit tests for:

* User registration

* Job creation

* Application submission

* Access control

Bonus Features (Optional)

- Swagger or Postman documentation

- Pagination for job listing

- Filters for job type, location, company

- Rate-limiting or throttling

Tech Stack

- Django 4+

- Django Rest Framework

- PostgreSQL (or SQLite for test)


Django/Python Task: Job Application Portal

- Celery + Redis

- drf-simplejwt

- Optional: Docker

Expected Time

5-7 days for a mid-level developer

You might also like