jobtracker
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: smarota17
- License: apache-2.0
- Language: Java
- Default Branch: main
- Size: 2.26 MB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
JobTracker
![]()
JobTracker is a Java Application that helps users keep track of job applications for internship and full time positions! This application is intended for students and professionals at any stage of their career.
https://user-images.githubusercontent.com/70153150/194409299-52adb84c-05f5-48d2-a237-0f302becfe2b.mp4
Description
JobTracker is a personal Job board to add and track job applications in all their stages. This application allows users to provide information about jobs they have applied to, easily filter through applications and assign priorities to certain applications. JobTracker can also send reminder emails about applications with upcoming deadlines. Users can also use JobTracker's "Application Search" feature which allows users to search for job postings on LinkedIn and CareerOneStop within the program! The user can limit their search using keywords and JobTracker will display a list of associated jobs. The user can navigate to the original job posting, and easily add information about the application into JobTracker's system.
To start using JobTracker, a user must create an account. The system collects information about name, email, gender, age, experience, and keywords for the system to use when searching through LinkedIn and CareerOneStop. All of this information is stored locally in a CSV file, and is not used by JobTracker in any other way.
Technologies
- Java 11
- Vaadin 23.2.2
- Spring boot 2.7.3
- Apache Maven 4.0.0
We also used Vaadin's "Building Modern Web Applications with Spring Boot and Vaadin" tutorial as a basic foundation for JobTracker. The source code can be found here. The starter was modified to fit our purposes and needs.
Features
- Add, edit, and delete application information to/from the system.
- Search for applications by filtering by job application attributes or by searching by name.
- Send reminder emails for upcoming deadlines.
- Dashboard displaying applications by priority.
- Search for more jobs using APIs from supported platforms: CareerOneStop and Linkedin.
- Filter applications on the "Application Search" page by keywords.
Installation
You will need the following programs and packages installed on your local machine.
Programs:
- Java Development Kit
- Git
- Maven or Eclipse
Setup Option 1: Command Line (Requires Maven)
- Clone the repository to your local machine
- Navigate to /JobTracker and run "mvn" on the command line
- Navigate to "localhost:8080" in your browser
- Press Ctr+c in the terminal to close the project
Setup Option 2: Eclipse (Requires Eclipse)
- Open Eclipse IDE. Install here if not already installed.
- Clone the project from GitHub Repo
- Cloning using EGit: Click On File > Import > Git > Projects From Git > Clone Uri > Paste HTTPS Repository Url > Select J2EE Branch > Next > Next > Finish
- Cloning using Git Bash:
git clone https://github.com/smarota17/JobTracker.git Click on File > Import > Existing Maven Project > Select Local Directory > Finish
- Right click on the Project Directory > Maven > Update Project
- Right Click on the Project Directory > Run As > Maven Clean \
- Right Click on the Project Directory > Run As > Maven Build \
If the run configuration doesn't appear, use the following steps:
- Right Click on the Project Directory > Run As > Run Configuration > Maven Build > Main > \
- select Base directory as "${project_loc:jobTracker}" \
- select Goals "spring-boot:run"
- Navigate to "localhost:8080" in your browser.
Note: In order to use the "Send Mail" functionality for this project, your team must set up an Outlook email account, and add the username and password to the SendMail.java class. You cannot use Gmail for this feature because Google set up a new restriction this year that doesn't allow third-party apps to send emails from Gmail accounts.
Documentation
This project is a refactoring of the WolfTrack project from 2021, which uses Python as it's codebase. Besides changing the code structure from Python to Java, we have added several additional functionalities.
- The video comparing this project to the previous year's project with a similar project idea can be found here.
- The video showing the new functionalites of the Job tracker project in comparison to the previous year project here.
Use Cases
In order to learn more about how to run JobTracker and use its features, check out our USAGE.md file!
JavaDoc
This project uses JavaDoc to document the source code. The JavaDoc can be accessed by clicking the JavaDoc badge or by navigating to the "javadoc" branch. The "javadoc" branch hosts all documentation, which is generated by the "Deploy javadoc" GitHub action.
Code Coverage
JobTracker uses JaCoCo to generate the code coverage of the source code. Additionally, we use blackbox tests on the UI to supplement the coverage and ensure that the functionality works as expected.
Future Features
While JobTracker is ready for users, there are several enhancements that could be made to amplify user experience. Below, we have listed several scopes of future improvements to JobTracker with a brief description.
- Database integration: Use a database system to persist data for each user. Currently, JobTracker saves all data in a CSV file (one for each user).
- Deployment server: Use Tomcat, Heroku, AWS, or a different cloud server for deployment to improve usability and make maintenance easier when fixing issues.
- Chart-based analysis: Introduce a quantitative or qualitative analysis for comparing jobs based on different charts. For example, a user could create a bar chart to compare jobs they have added based on salary insights.
- Chrome extension: Create a Chrome extension for JobTracker so users can add applications to the system from their browser.
- Link to other employment sites: Consider using other employment services such as Indeed and Glassdor to generate the list of jobs on the "Application Search" page. Currently, JobTracker is only connected to LinkedIn and CareerOneStop.
- Chatbot: Implement Chatbot capability that allows users to communicate effortlessly with the bot and learn about various elements of JobTracker.
- SMS notifications: Implement SMS notifications to supplement the email notification feature when reminding users of upcoming deadlines.
Contribution
Please see the CONTRIBUTING.md for instructions on how to contribute to our repository.
License
This project is licensed under the Apache License 2.0.
Team Members
The team members who developed JobTracker are: * Huang-Xing (Jesse) Chen * Landon Gaddy * Li-Chia (Jerry) Chang * Saminur (Sami) Islam * Shruti Marota
We communicated via Discord and through weekly in-person meetings.

Owner
- Name: Shruti Marota
- Login: smarota17
- Kind: user
- Repositories: 1
- Profile: https://github.com/smarota17
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Job Tracker
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Shruti
family-names: Marota
email: smarota@ncsu.edu
affiliation: North Carolina State University
- given-names: Landon
family-names: Gaddy
email: rlgaddy@ncsu.edu
affiliation: North Carolina State University
- given-names: Huangxing
family-names: Chen
affiliation: North Carolina State University
- given-names: Saminur
family-names: Islam
email: sislam8@ncsu.edu
affiliation: North Carolina State University
- given-names: ' Li-Chia'
family-names: Chang
affiliation: North Carolina State University
version: 1.0.0
date-released: 10-06-2022
doi: 10.5281/zenodo.7154376
url: https://github.com/smarota17/JobTracker
GitHub Events
Total
Last Year
Dependencies
- @rollup/plugin-replace 3.1.0 development
- @rollup/pluginutils 4.1.0 development
- async 3.2.2 development
- glob 7.2.3 development
- mkdirp 1.0.4 development
- rollup-plugin-brotli 3.1.0 development
- transform-ast 2.4.4 development
- typescript 4.7.4 development
- vite v3.0.9 development
- vite-plugin-checker 0.4.9 development
- workbox-build 6.5.0 development
- workbox-core 6.5.0 development
- workbox-precaching 6.5.0 development
- @polymer/iron-icon 3.0.1
- @polymer/iron-iconset-svg 3.0.1
- @polymer/iron-list 3.1.0
- @polymer/iron-meta 3.0.1
- @polymer/iron-resizable-behavior 3.0.1
- @polymer/polymer 3.5.1
- @vaadin/accordion 23.2.0
- @vaadin/app-layout 23.2.0
- @vaadin/avatar 23.2.0
- @vaadin/avatar-group 23.2.0
- @vaadin/bundles 23.2.0
- @vaadin/button 23.2.0
- @vaadin/checkbox 23.2.0
- @vaadin/checkbox-group 23.2.0
- @vaadin/combo-box 23.2.0
- @vaadin/common-frontend 0.0.17
- @vaadin/component-base 23.2.0
- @vaadin/context-menu 23.2.0
- @vaadin/custom-field 23.2.0
- @vaadin/date-picker 23.2.0
- @vaadin/date-time-picker 23.2.0
- @vaadin/details 23.2.0
- @vaadin/dialog 23.2.0
- @vaadin/email-field 23.2.0
- @vaadin/field-base 23.2.0
- @vaadin/field-highlighter 23.2.0
- @vaadin/flow-frontend ./build/flow-frontend
- @vaadin/form-layout 23.2.0
- @vaadin/grid 23.2.0
- @vaadin/horizontal-layout 23.2.0
- @vaadin/icon 23.2.0
- @vaadin/icons 23.2.0
- @vaadin/input-container 23.2.0
- @vaadin/integer-field 23.2.0
- @vaadin/item 23.2.0
- @vaadin/list-box 23.2.0
- @vaadin/lit-renderer 23.2.0
- @vaadin/login 23.2.0
- @vaadin/menu-bar 23.2.0
- @vaadin/message-input 23.2.0
- @vaadin/message-list 23.2.0
- @vaadin/multi-select-combo-box 23.2.0
- @vaadin/notification 23.2.0
- @vaadin/number-field 23.2.0
- @vaadin/password-field 23.2.0
- @vaadin/polymer-legacy-adapter 23.2.0
- @vaadin/progress-bar 23.2.0
- @vaadin/radio-group 23.2.0
- @vaadin/router 1.7.4
- @vaadin/scroller 23.2.0
- @vaadin/select 23.2.0
- @vaadin/split-layout 23.2.0
- @vaadin/tabs 23.2.0
- @vaadin/text-area 23.2.0
- @vaadin/text-field 23.2.0
- @vaadin/time-picker 23.2.0
- @vaadin/upload 23.2.0
- @vaadin/vaadin-accordion 23.2.0
- @vaadin/vaadin-app-layout 23.2.0
- @vaadin/vaadin-avatar 23.2.0
- @vaadin/vaadin-button 23.2.0
- @vaadin/vaadin-checkbox 23.2.0
- @vaadin/vaadin-combo-box 23.2.0
- @vaadin/vaadin-context-menu 23.2.0
- @vaadin/vaadin-custom-field 23.2.0
- @vaadin/vaadin-date-picker 23.2.0
- @vaadin/vaadin-date-time-picker 23.2.0
- @vaadin/vaadin-details 23.2.0
- @vaadin/vaadin-development-mode-detector 2.0.5
- @vaadin/vaadin-dialog 23.2.0
- @vaadin/vaadin-form-layout 23.2.0
- @vaadin/vaadin-grid 23.2.0
- @vaadin/vaadin-icon 23.2.0
- @vaadin/vaadin-icons 23.2.0
- @vaadin/vaadin-item 23.2.0
- @vaadin/vaadin-list-box 23.2.0
- @vaadin/vaadin-list-mixin 23.2.0
- @vaadin/vaadin-login 23.2.0
- @vaadin/vaadin-lumo-styles 23.2.0
- @vaadin/vaadin-material-styles 23.2.0
- @vaadin/vaadin-menu-bar 23.2.0
- @vaadin/vaadin-messages 23.2.0
- @vaadin/vaadin-notification 23.2.0
- @vaadin/vaadin-ordered-layout 23.2.0
- @vaadin/vaadin-overlay 23.2.0
- @vaadin/vaadin-progress-bar 23.2.0
- @vaadin/vaadin-radio-button 23.2.0
- @vaadin/vaadin-select 23.2.0
- @vaadin/vaadin-split-layout 23.2.0
- @vaadin/vaadin-tabs 23.2.0
- @vaadin/vaadin-template-renderer 23.2.0
- @vaadin/vaadin-text-field 23.2.0
- @vaadin/vaadin-themable-mixin 23.2.0
- @vaadin/vaadin-time-picker 23.2.0
- @vaadin/vaadin-upload 23.2.0
- @vaadin/vaadin-usage-statistics 2.1.2
- @vaadin/vaadin-virtual-list 23.2.0
- @vaadin/vertical-layout 23.2.0
- @vaadin/virtual-list 23.2.0
- construct-style-sheets-polyfill 3.1.0
- date-fns 2.28.0
- lit 2.3.0
- MathieuSoysal/Javadoc-publisher.yml v2.0.4 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-java v1 composite
- actions/upload-artifact v2 composite
- cicirello/jacoco-badge-generator v2 composite
- maven 3-openjdk-17-slim build
- openjdk 17-jdk-slim build
- com.vaadin:vaadin-bom 23.2.2 import
- com.h2database:h2
- com.sun.mail:javax.mail 1.5.0-b01
- com.vaadin:vaadin
- com.vaadin:vaadin-spring-boot-starter
- org.springframework.boot:spring-boot-devtools
- org.springframework.boot:spring-boot-starter-data-jpa
- org.springframework.boot:spring-boot-starter-security
- org.springframework.boot:spring-boot-starter-validation
- org.vaadin.artur.exampledata:exampledata 3.4.0
- com.vaadin:vaadin-testbench test
- io.github.bonigarcia:webdrivermanager 3.8.1 test
- org.junit.vintage:junit-vintage-engine test
- org.springframework.boot:spring-boot-starter-test test
- 559 dependencies
- ApacheMaven *
- Eclipse *
- Java *
- Springboot *
- Vaadin23 *