Skip to content

TeamBenign/WolfTrack6.0

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WolfTrack 6.0


DOI

Manual Build codecov GitHub language count GitHub pull-requests GitHub-size GitHub issues GitHub-closed-issues

License: MIT

Table of Contents
  1. Why WolfTrack 6.0?
  2. Check out the video!
  3. What is new in this version?
  4. What type of user is WolfTrack 6.0 best suited for?
  5. Technology Stack
  6. Version Control Tools
  7. Tools
  8. Getting Started & Installation:
  9. Code Coverage
  10. Roadmap
  11. Developer Support and Updates
  12. Funding
  13. Contributions
  14. Future RoadMap
  15. Contributors
  16. Acknowledgements
  17. Contact Us

Why WolfTrack 6.0?

WolfTrack6.0 is your ultimate destination for seamless organization and efficiency in your pursuit of internships and full-time job opportunities. This sophisticated online platform empowers you to streamline your application process, keeping tabs on every step of your professional journey. Say goodbye to scattered notes and endless email threads – with WolfTrack6.0, you can effortlessly manage applications, deadlines, and crucial documents, ensuring you never miss a beat in your career quest. It's your compass in the competitive job market, offering structure and precision without sacrificing style and user-friendliness. WolfTrack6.0 is your passport to success, guiding you through the winding paths of career opportunities with elegance and ease.

We offer features like giving suggestions for improvements on your resume, AI-based suggestions, tracking your application, and many more.


Check out the video!

To demonstrate our application's functionality and showcase its working examples, we have produced a video for the WolfTrack 6.0 project. In this video, we showcase that the system operates as intended. You can view the video by clicking on the following link: Google Drive Link


What's New in This Version

This release brings significant updates designed to enhance user experience, functionality, and reliability. Here’s a breakdown of the latest features:

🔍 Expanded Test Coverage

  • Increased Test Cases: We've broadened our test coverage to improve stability, ensuring a seamless user experience and greater reliability across all features.

🎨 UI & User Experience Improvements

  • Refined Login & Registration Pages: Enhanced user-friendly messages guide users smoothly through login and sign-up processes.
  • Redesigned Home Page: The home page has been given a modern look, improving navigation and engagement.
  • Modularized UI Components: The new modular design makes the interface more responsive and easier to maintain, setting up for future scalability.

🔒 Authentication & Authorization Fixes

  • Resolved key bugs in authentication and authorization to ensure a secure and reliable experience.

📈 Enhanced Job Scraping & Search Filters

  • Job Scraping with Salary Information: Jobs now display salary details, giving users more insights to make informed decisions.
  • Improved Search Filters: More precise filters allow users to find exactly what they’re looking for, faster.

🤖 AI-Powered Resume Feedback

  • Google Gemini-Based AI Feedback: Now, AI feedback covers not only resume content but also provides guidance on structure and design, ensuring a standout resume.

This release makes the platform more powerful, user-friendly, and equipped to deliver a top-notch experience. Get ready to impress!


What type of user is WolfTrack 6.0 best suited for?

This platform has been designed keeping in mind any person who is out to seek a job or internship. This may be a college student in any year, as well as a career professional wishing to switch. It may also be someone looking to enter an industry for the first time. This platform caters to a wide target audience and its simple, yet powerful features make it useful for everyone.


Technology Stack

           

Python | Flask | HTML | CSS | JavaScript | Gemini | SQLite | AWS

Version Control Tools

Tools

             ezgif com-optimize

Third-Party Tools

  • SQLite 3

    SQLite is often used with Flask due to its simplicity, lightweight nature, and compatibility with Flask applications. Here's why it's commonly used:

    Easy Setup: SQLite is a self-contained, serverless, zero-configuration database engine. It doesn't require a separate server process to be running. For small to medium-sized applications, this ease of setup and use can be beneficial.

    No Configuration: As SQLite doesn't require configuration or maintenance of a separate server, it's convenient for development environments and smaller-scale applications. In Flask, SQLite can be used with minimal setup.

    Portability: SQLite databases are stored as a single file. This makes them highly portable and easy to transfer or share among different environments or applications.

    Suitability for Prototyping and Small Projects: For early stages of development, when the emphasis might be on rapidly prototyping an application or for smaller projects with relatively lower data requirements, SQLite can be a good choice due to its simplicity.

    Flask Integration: Flask has built-in support for SQLite. The sqlite3 module is included in Python's standard library, allowing Flask applications to interact with SQLite databases seamlessly.

  • Microsft Power BI

  • Highcharts

  • Adzuna

    The API provides access to rich job market data, including job descriptions, salaries, locations, and other relevant details. This data can be integrated into applications or platforms to offer insights into the job market trends and opportunities.


Getting Started & Installation:

  • Prerequisite:

  • Installation:

    E.g If you downloaded Python 3.8.7 above, then

    Steps to setup virtual environment

    • Create a virtual environment:

      python3.8 -m venv test_env

    • Activate the virtual environment:

      source test_env/bin/activate

    • Build the virtual environment:(must be present in project root directory)

      pip install -r requirements.txt

  • Run Instructions

    To run/test the site locally:

    • Clone WolfTrack github repo.

    • Navigate to project directory.

    • Run python main.py or python3 main.py

      If there is a certificate error coming up for nltk stopwords download:

      • search for "Install Certificates.command" in finder and open it. Its a script that will install required Certificates.
      • Run the above command again.
    • Site will be hosted at: http://127.0.0.1:5000/

  • Adzuna API Setup

Create an Account:

Go to the Adzuna Developer portal developer.adzuna.com. Sign up for an account to access the API. You might need to provide some basic details about your application, such as the name, purpose, and contact information.

Get API Credentials:

Log in to your Adzuna Developer account. Find the section to create an API application. Create a new application to generate API credentials (usually API keys or tokens). These credentials are necessary to authenticate your requests to the Adzuna API.

Change URL:

Update the adzuna_url in your app.py - using the newly obtained credentials. This updated URL should reflect the API endpoint along with your authentication credentials for accessing the Adzuna API.

  • Google Gemini API Setup

Create an Account:
Sign up for a Google Cloud account if you haven’t already.

Create a Project:

  1. Go to the Google Cloud Console.
  2. Create a new project or select an existing one from the project dropdown.

Enable the Google Gemini API

  1. In the Cloud Console, go to APIs & Services > Library.
  2. Search for Google Gemini API.
  3. Click on the API and select Enable.

Set Up API Authentication

Create API Credentials:

  1. Go to APIs & Services > Credentials in the Google Cloud Console.
  2. Click Create Credentials and select either API Key or OAuth 2.0 Client ID (OAuth is recommended for better security).

Set Up OAuth Consent Screen (for OAuth 2.0):

  1. Configure the consent screen with your app details, including name and contact info.
  2. Set up an OAuth 2.0 Client ID with your application type (e.g., Web Application).
  3. Save the Client ID and Client Secret for later use.

Class/Functions Documentation Use Cases Documentation


Code Coverage

It is part of the Github Workflow Build


Roadmap

Phase 1 WolfTrack:

  • Create database ER diagram
  • Create SQL DML and DDL queries
  • Create Dashboard Page
  • Create Login Page
  • Create Signup Page
  • Setup Flask
  • Add Unit testing
  • Add Error Handling mechanisms
  • Mock of Job Application Map using Power BI

Phase 2 WolfTrack 2.0:

  • Resume Parser and Analyzer
  • Email Notifcation after adding new job profile to list
  • Upload and maintaining resume versions
  • Send remainder mails for deadlines
  • Share your profile with others
  • Creation of Docker image
  • Readily deployable image in docker registry

Phase 3 WolfTrack 3.0:

  • Two Type Login Application - Admin and User
  • Resume Review, Comment, Download and Like by Admin
  • Comments given by Admin are sent as email to the user
  • Cronjob for pending application deadlines as email notification
  • Implemented web scraping to find relevant jobs according to user's profile and recommend him
  • Daily Goal Check to keep track of number of jobs applied and to apply
  • Customizable Daily Target Field
  • Parse Resume Document with other extensions
  • Recommend jobs by matching the resume with open jobs

Phase 4 WolfTrack 4.0:

  • Created Sign-up functionality
  • Fixed log-in authentication
  • Fixed daily goals feature
  • Added Site Navigation
  • Front end aesthetic changes
  • Added tables to Wishlist, Applied, In Process and Offers tabs
  • Added chatGPT pipeline for resume suggestions

Phase 5 WolfTrack 5.0:

  • Implemented SQLite Database connectivity for the application.
  • Employed Flask API to dynamically retrieve content from the database for both Student and Admin portals.
  • Conducted code refactoring to enhance application dynamism.
  • Developed dynamic Sign-up and Log-In functionalities for user interaction.
  • Integrated a dynamic Job Application table with CRUD Operations.
  • Included a 'Filter By Status' feature for streamlined job application viewing.
  • Incorporated a Job Search Feature for improved navigation.
  • Added Job Skills Extractor functionality for enhanced job matching.
  • Resolved upload and download resume bugs for smoother user experience.
  • Implemented Test Cases from scratch due to extensive code refactoring.

Phase 6 WolfTrack 6.0:

  • Expanded Test Coverage
  • UI & User Experience Improvements
  • Authentication & Authorization Fixes
  • Enhanced Job Scraping & Search Filters
  • AI-Powered Resume Feedback

Phase 7 WolfTrack 6.0:

  • Sentiment analysis of resume feedbacks
  • Category-wise resume upload and editing
  • Online chat
  • Interview Preparation resources tab
  • Insights dahsboard

Developer Support and Updates

For support and inquiries related to WolfTrack 6.0, please contact us at mhaque4@ncsu.edu, kangul@ncsu.edu, rbollep@ncsu.edu. We are here to assist you and address any questions or issues you may have.

We appreciate your interest and look forward to providing you with the best possible support and updates.


Funding

This project currently receives no funding.


Contributions

Please refer to the CONTRIBUTING.md if you want to contrbute to the WolfTrack 5.0 source code. Follow all the guidelines mentioned and raise a pull request for the developers to review before the code goes to the main source code.


Contributors


Md. Nazmul Hossain

Kishan Kumar Ganguly


Ravi Chandu Bollepalli


Acknowledgements

  • We would like to express our gratitude 🙏🏻 and a big thank you 😇 to Prof. Dr. Timothy Menzie for giving us the opportunity to get into the shoes of software building and learning new skills and development process throughout the project building.
  • A big thank you 😊 to the Teaching Assistants for their support.
  • Thank you to the previous team 😊 for a thorough ReadMe and detailed documentation.

About

A personal Job-tracker application

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 44.1%
  • Python 39.3%
  • CSS 8.7%
  • JavaScript 7.7%
  • Dockerfile 0.2%