Skip to content
Naman Gupta edited this page May 14, 2016 · 8 revisions

Welcome to the JobPort wiki!

##Name - JobPort## ##version number - 2.1## This project was undertaken by Romil and Naman to develop placement software at IIIT - Delhi.

Key features

  • Easy and Intuitive interface to apply for Jobs, inspired by Material Design by Google.
  • Notifications of new Job openings right in your inbox.
  • Manage your CV online, no need to send emails to Placement Cell.
  • Easy to use administration, with interactive controls.
  • Batch Mail to students (Notifications)
  • Bulk Resume download
  • Intuitive placement statistics
  • Search powered by Whoosh
  • Block student from placements
  • Static Files served using Nginx
  • Resume file path protected from others using Nginx.

##Installation instructions ##

For any doubt feel free to contact me.

  1. Clone the repo.
  2. Install python and pip using https://pip.pypa.io/en/latest/installing.html.
  3. Install all the package requirements using pip install -r requirements.txt.
  4. The project uses PostgreSQL (previously mySQL) or SQLite3 as the database. You need to GRANT sufficient privileges for the user defined in settings.py.
  5. Create a database and initial migrations using python manage.py syncdb && python manage.py migrate Note: Remember the superuser credentials that you may have entered after creating first migration.
  6. Collect all the static files in jobport/placement direct by running python manage.py collectstatic.
  7. Run the server using python manage.py runserver. Log in to the admin side by visiting 'localhost:8000/batcave'.
  8. After login, create two groups - 'admin' and 'student' and change the group of the user that you have just logged in with.

NOTE: You would need to add groups (for users) in the admin side, to be able to access personalized admin interface. To do that simply add two groups named "student" and "admin" (give all the admin rights to this group) and yourself in the admin group. Now go to "localhost:8000", you'll be able to see your personal admin interface.

  • To setup the server, I have used nginx + uwsgi. The uwsgi_params can be found in the repository. You can use the default Django server as well.

NOTE: Change DEBUG = False and uncomment ALLOWED_HOSTS in the settings.py when running on a production server.

The application also implements search using Whoosh. To update the indices, run a cron job after every X minutes (X = 5 on jobport.iiitd.edu.in, but you can reduce that after all the students have signed up on JobPort).

To setup search features,

  1. First runpython manage.py build_index
  2. Add this to your crontab to update your indices after every 5 minutes. 5 * * * * cd ~/jobport/placement/ && python manage.py update_index
Clone this wiki locally