Skip to content

rohanajm7/application-tracking-system

 
 

Repository files navigation

merged_comp.mp4

GitHub license DOI codecov GitHub issues GitHub issues GitHub top language

Build and Deploy Frontend Super Linter

J-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. User can also login or sign up through Google Authorization.

The Google Authorization Login:

HomeScreen - Profile Page

After Logging In, the Profile page of the user is displayed where the user details such as Name, Institution, email, phone number, address, skills, and more are shown. Users can add or update information to their profile, such as their personal information, skills, preferred job locations, and their experience level.

SearchPage

The interface through which a user is able to search for specific jobs and apply on them through the 'Apply' button.

  1. Navigate to Job search page, search for particular Job.
  2. Click on Details button to see the Job Details
  3. Click on Apply button which will redirect to the Job Apply link.

ApplicationPage

The user is able to access different saved applications - Waitlisted applications, Waiting for Refereals, Applied Jobs, Application Status. The user can also add more jobs to track through this screen.

MatchesPage

On this page, user can see different jobs that would be recommended to them based on their profile and their preferences. User can apply for that position from this page too.

Whats New

Version 1.1

  • Added Google Authorization for login and signup
  • Added User Profile page to the application
  • Added Matches page to recommend jobs to the user
  • Added Apply button and Job details on the Search page
  • Modfied and revamped the UI

Future Scope:

  • Include deadline reminders for the application and interview.
  • Add a feature that allows users to attach these reminders to their Google calendar.
  • Incorporate notifications for upcoming deadlines.
  • Include a link to the university’s career fair page.
  • Direct connection to Linkedin, allowing for the addition of job opportunities to the wishlist.
  • An option to maintain separate profiles for job tracking.

Explanation:

Currently, we have four fundamental steps in our project:

  1. The SearchPage where users can search about the Job Postings
  2. The MatchesPage where users get recommendation about the jobs according to their preferences
  3. The ApplicationsPage where users can add and see the position they applied to and can update/delete the the information. Any details in any table can be modified at any time during the process
  4. The ProfilePage where user can add his skills, experience level and preffered location. This information is used to recommend user jobs that require similar skillsets

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)

Strongly Recommended:

  • A terminal environment capable of handling bash scripts.

To install all required packages, while within the context of project root directory, run:

./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:

mongodb

  • 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: 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: MONGO_PASS:

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

  • Sakshi Mahadik
  • Jaiwin Shah
  • Om Jain
  • Jay Shah

About

Application Tracking System for Group51, Phase 2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 65.4%
  • Python 26.7%
  • CSS 4.6%
  • HTML 1.9%
  • Shell 1.4%