Skip to content

nadirhussainnn/TheUJP

Repository files navigation

TheUltimateJobPortal

A comprehensive platform connecting talent with opportunity through automated workflows and secure data management.


System Overview

The TheUltimateJobPortal application is designed to streamline the recruitment lifecycle. It features a dual-interface system tailored for both Candidates (job seekers) and Companies (recruiters), built on a robust PostgreSQL backend and containerized with Docker for seamless deployment.


Key Features

👤 For Candidates

  • Secure Registration: Email-verified accounts with expiring verification tokens.
  • Job Discovery: Search and filter jobs by industry, position level, and work type.
  • Application Tracking: Real-time dashboard showing status of all active applications.
  • Profile Management: Update personal details and manage resume uploads.

🏢 For Companies

  • Recruiter Dashboard: High-level stats on job performance and applicant counts.
  • Smart Reviewing: Automatic status updates to "Reviewing" when an application is opened.
  • Automated Communication: Triggered email notifications for status changes (Reviewing, Interviewing, Offered, Rejected).
  • Job Management: Full CRUD capabilities for job listings.

🛠 Tech Stack

  • Backend: Django 5.x
  • Database: PostgreSQL 15
  • Environment: Docker & Docker Compose
  • Testing: Pytest / Pytest-Django
  • Authentication: Custom User Model with Role-Based Access Control (RBAC)

⚙️ Installation & Setup

Running with Docker (Recommended)

  • Open docker desktop app
  • Go into root of project and run
docker-compose up --build
  • if want to remove containers, volumes, network bridge etc
docker-compose down -v

Running with python

  • Still, you need to run the postgres:15 image via docker,
docker run --name jobportaldb \
  -e POSTGRES_DB=jobportaldb \
  -e POSTGRES_USER=anonymoususer \
  -e POSTGRES_PASSWORD=S3c6rePass123 \
  -p 5432:5432 \
  -d postgres:15
  • Update .env accordingly
  • At root of project, create virtual env using python -m venv venv, then
source venv/bin/activate  
  • Then install deps
pip install -r requirements.txt
  • Then run project
python manage.py runserver
  • To apply migrations, run
python manage.py migrate

Running autumated tests

pytest

About

This app provides the Companies and Candidates to do a smooth Job application process

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors