A comprehensive platform connecting talent with opportunity through automated workflows and secure data management.
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.
- 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.
- 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.
- 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)
- 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
- 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
pytest