/opensource-job-portal

opensource jobportal in python django

Primary LanguageHTMLMIT LicenseMIT

Codacy Badge Build Status Coverage Status

  • Please visit OpenSourceJobPortal for the latest documentation with unlimited free job posting, Social Api's authentication.

  • Opensource Job Portal developed using python, django framework with unlimited free job posting and Social Api's authentication.

Recruiter

Recruiter can register using email or google login to post job.

  • Can post jobs to social networking sites like facebook, twitter, linkedin.
  • Walk-in's
  • Copy An Existing Job Post, Deactivate.
  • Add localtion in Google Maps
  • Post their job to social networking sites.

Portal

  • 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

Setup

Following are the setup instruction for ubuntu 18.04.

sudo apt install git postgresql python3 python3-dev python3-venv libpq-dev build-essential ruby ruby-dev gem redis-server memcached redis-tools -y
curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install node-less
Install and configure sass and less compilers
sudo gem install sass

You need to create symbolic link if you get 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
Then setup env using the following command
python3 -m venv peeljobs-env
Activate env with the following command
activate peeljobs-env/bin/activate
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.

Run elasticsearch docker
docker run -d --name elasticsearch --net=host -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:2.4
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