Giter Club home page Giter Club logo

application-tracking-system's Introduction

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 website 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.

This application is created as a part of our SE project for Fall 2021

Basic Design:

Basic Design

Here's how the application looks:

Working_application.mp4

Improvements:

appTracker_Phase_2.mp4
  • Easier setup instructions and Installation process
  • Restructuring the Flask application
  • Writing unit tests
  • Introducing Database
  • Removing unused codes and updating Gitignore
  • CI/CD Pipeline for Frontend app
  • Adding Linters, Code formatters
  • Adding Software documentation

Roadmap:

Roadmap

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.
  • 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 website 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.

Explanation:

Currently, we have four fundamental steps in our project:

  1. The position for which you have applied
  2. The job you want to apply for, without a referral
  3. The job at which you have faced rejection, and
  4. The job you're waiting for a referral.

Any details in any table can be modified at any time during the process.

Technologies Used:

  • Python
  • Node.Js
  • Flask
  • MongoDB

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:
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 repo and assist us in improving the project.

Team Members

application-tracking-system's People

Contributors

conorthomason avatar keertanavellanki avatar setu1421 avatar gggho0806 avatar muntasirhoq avatar seeyapm avatar prithvish-doshi-17 avatar alex308248 avatar vrajchokshi31 avatar msohacki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.