Technology: Django
Category: Job Portals
Keywords: django-project job-portal job-search jobportal open-source python

Open Source Online Job Portal Project with Source Code

Open source job portal

  • Please visit OpenSourceJobPortal for the latest documentation with unlimited free job posting, and Social Api's authentication.
  • Opensource Job Portal developed using Python and Django framework with unlimited free job posting and Social API authentication.


Recruiters can register using email or Google login to post jobs.

  • Can post jobs on social networking sites like Facebook, Twitter, LinkedIn.
  • Walk-in's
  • Copy An Existing Job Post and deactivate it.
  • Add location in Google Maps
  • Post their job to sociasudo usermod -aG docker $USERl networking sites.


  • Job Alerts
  • New Mobile Design
  • Normal Search and Advanced Search
  • Email Notifications

Useful tools and packages

pipdeptree # to see pip dependancy tree
black # to format code to meet python coding standards
pip-check -H  # to see upgradable packages


Following are the setup instructions for Ubuntu 20.04.

sudo apt install git postgresql python3 python3-dev python3-virtualenv build-essential ruby ruby-dev gem redis-server memcached redis-tools -y
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install node-less

Install and configure sass and less compilers

sudo gem install sass

You need to create a symbolic link if you get an error locating lessc here my lessc file locatin is /usr/bin/lessc you can find yours with this command which lessc

sudo ln -s /usr/bin/lessc /usr/local/bin/lessc

Install virtualenvwrapper

pip install virtualenvwrapper add the following to your path

export PATH="$PATH:/home/ubuntu/.local/bin" source /home/ubuntu/.local/bin/virtualenvwrapper.sh

Install requirements
pip install -r requirements.txt

For env variables, refer to env.md in source directory and you need to create a .env file to keep all env variables with their respective values.

Create db and import basic data to postgresql

sudo -u postgres psql

to change postgres password

ALTER USER postgres PASSWORD 'myPassword';

create database peeljobs sudo -u postgres -i psql peeljobs < init_db/db_init.sql

Install docker and Run elasticsearch

to add user to docker group

sudo usermod -aG docker $USER restart to apply changes.

docker run -d --name elasticsearch -p -p -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.6
Create index

Finally update_index command will freshen all of the content in your index. It iterates through all indexed models and updates the records in the index.

python manage.py update_index
Load data to postgres Database

Load data to cities, companies and etc using json files in "peeldb/fixtures" folder. please check below command for reference.

python manage.py loaddata cities

Profile Picture

Hi, I'm Habib. I'm the founder of OpenSourceCollection. I help build web applications, grow businesses, big and small. If that is what you want, contact me.

I'm currently available for freelance work.

Visit my Protfolio. Let's connect on Linkedin or GitHub

Contact Me

About OpenSourceCollection.com
Discover, explore, and find open-source web apps from various categories and technologies, while accessing live demos, screenshots, and GitHub source code links.