Skip to content

Shubham-Saboo/JTracker

 
 

Repository files navigation

Link to demo/walkthrough video:

https://youtu.be/ogtNeTNXjyE

GitHub license DOI GitHub issues GitHub closed issues GitHub top language last commit Repo-size file_count language_count Downloads Release Code Coverage Lint Python Style Checker

Job-Tracker - Your Job Tracking Assistant

Introductory_Video.mp4

The process of applying for jobs and internships is not a cakewalk. Managing job applications is a time-consuming process. Due to the referrals and deadlines, the entire procedure can be stressful. Our application allows you to track and manage your job application process, as well as regulate it, without the use of cumbersome Excel spreadsheets.

Our application keeps track of the jobs you've added to your wish list. It also keeps track of the companies you've already applied to and keeps a list of any rejections. Rather than having the user browse each company's site for potential prospects, our application allows the applicant to search for them directly using basic keywords. Any prospective work offers can then be added to the applicant's wishlist.

Table of contents

Basic Design:

Basic Design

Samples:

Login Page / Signup Page

The introductory visual interface displayed from which a user is able to register and log into the application.

HomeScreen

The introductory visual interface displayed from which a user is able to access different cards - Waitlisted applications, Waiting for Refereals, Applied Jobs, Application Status.The user can also add cards through this screen.

Side Bar

Chat Box Demo

Job search Page

The interface through which a user is able to search for specific jobs and add them to Waitlisted Applications.

  1. Navigate to Job search page, search for particular Job.
  2. Click on Add button. Fill in the Details.
  3. Click on Create button.
  4. The application will then be saved as per the selected category.

Resume Builder

Resume Builder Result

Cover Letter Generator

  1. Navigate to Cover letter Section
  2. Upload any detail in the form
  3. Click on Submit button to Download the cover letter file. (It takes 40 to 50 seconds to generate the cover letter)

Cover Letter Generator Demo

Manage Resume Page

  1. Navigate to resume Section
  2. Upload any resume file with .PDF extension by selecting the file from local storage. Click Upload.
  3. Click on download button to Download the uploaded file.

Job Recommender Page

  1. Assuming that you have uploaded your resume on the resume page
  2. Click on the get recommendations button
  3. View the recommended companies returned by ChatGPT API

Whats New

Version 2.0.0

  • Major bug fixes for the job search feature
  • Implemented an interactive ChatBot to solve user queries
  • Added a new feature to build a resume in a word file from user input
  • Used the OpenAI API to generate the cover letter for a specific company and Job Role

Version 2.0.1

  • Enhanced the UI of the application with major upgrades
  • Added a Set Reminder function for wishlist applications
  • Modified the SideBar and the Navigation Bar
  • Updated badges for repo

Version 2.1.0

  • Minor Bug Fixes
  • Updated GitHub workflows files
  • Added test cases

Future Scope:

  • Implement recruiter side functionalities.
  • Create profile updation functionality.
  • Add a feature that allows users to attach the wishlist reminders to their Google calendar.
  • Add a storage option for resumes and cover letters so they can be saved for future use.
  • Include a direct link to the company's application site when the wishlist item is clicked.
  • Include a link to the university’s career fair page.
  • Direct connection to LinkedIn, allowing for the addition of job opportunities to the wishlist.
  • Improve keyword search to improve specifications such as pay range, employment location, and so on.
  • An option to maintain separate profiles for job tracking.

Technologies Used:

  • Python
  • Node.js
  • Flask
  • MongoDB
  • React

Installation:

Requirements:

  • Python (recommended >= 3.8)
  • pip (Latest version 21.3 used as of 11/3)
  • npm (Latest version 6.14.4 used as of 11/3)

Follow the following steps:

  • Install nvm
  • In terminal run: install node 16
  • Restart your device
  • In terminal run: ./setup.sh
  • In terminal run: npm install yarn
./setup.sh

This will handle all npm and pip package installations required for both the front and backend.

If the script says "command not found" or something similar, run chmod +x ./setup.sh. This grants the script execution privileges. Depending on your setup, this may occur for the boot_dockerless files, amongst others. The same command will fix the issue.

Getting Started:

Boot:

To run a testing environment, run:

./startup.sh

This will run flask and npm simultaneously, booting both the front and backend. Note - npm takes substantially longer to boot compared to flask.

Shutdown:

To ensure that flask is no longer occupying a port, run:

./shutdown.sh

This will search for any active process containing "flask" and kill the process.

Hosting the Database:

Local MongoDB:

  1. Download MongoDB Community Server
  2. Follow the Installion Guide
  3. In app.py set 'host' string to 'localhost'
  4. Run the local database:
mongod
  • Recommended: Use a GUI such as Studio 3T to more easily interact with the database

Hosted database with MongoDB Atlas:

  1. Create account for MongoDB

** If current MongoDB Atlas owner adds your username/password to the cluster, skip to step 4 **

  1. Follow MongoDB Atlas Setup Guide to create a database collection for hosting applications
  2. In app.py set 'host' string to your MongoDB Atlas connection string
  3. Create an application.yml file in the /backend directory with the specifications:
username: <MongoDB Atlas cluster username>
password: <MongoDB Atlas cluster password>
  1. For testing through CI to function as expected, repository secrets will need to be added through the settings. Create individual secrets with the following keys/values:
MONGO_USER: <MongoDB Atlas cluster username>
MONGO_PASS: <MongoDB Atlas cluster password>

License

The project is licensed under the MIT license.

How to Contribute?

Please see our CONTRIBUTING.md for instructions on how to contribute to the repository and assist us in improving the project.

Team Members (Group 53)


Left to Right - Chinmay Nayak, Shubham Saboo, Rajat Chandak, Vibhav Deo

About

Application Tracking System for Group53, Project 3

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 50.9%
  • Python 41.4%
  • CSS 5.5%
  • Shell 1.2%
  • HTML 1.0%