Skip to content

SE-Fall2023-Group-41/Jobify

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

836 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Jobify: Streamlining Your Job Hunt Experience πŸš€

License: MIT version codecov DOI GitHub issues GitHub closed issues Github pull requests Github closed pull requests github workflow github workflow github workflow

Your GIF

Welcome to Jobify, your go-to solution for transforming the way you approach job hunting. We understand that finding the perfect job can be challenging, but with Jobify, we've reimagined the process to make it not just manageable, but enjoyable!

Why Jobify?

🌐 One-Stop Destination

Jobify is your ultimate destination for simplifying the job hunt process. Our platform acts as a one-stop hub where you can effortlessly upload your resume and define your ideal job criteria.

πŸš€ Smart Job Matching

Say goodbye to endless job portal scrolling. Jobify's innovative application employs cutting-edge technology to meticulously search through multiple job platforms. It ensures a precise match between your skills and the requirements of available positions.

πŸ“§ Daily Job Alerts

We understand the importance of staying updated. With Jobify, you have two convenient options:

  1. Daily Email Alerts: Every day at 10:30 AM EST, Jobify curates a personalized list of job opportunities tailored just for you. Get these opportunities delivered straight to your email inbox, ensuring you never miss a chance to explore exciting career prospects.

  2. Interactive Dashboard: In addition to email alerts, Jobify provides an interactive dashboard where you can view and explore job opportunities at any time. The dashboard offers a user-friendly interface, allowing you to search, filter, and discover jobs based on your preferences.

Choose the option that suits your preferences, or leverage both for a comprehensive job hunting experience. Jobify is designed to cater to your unique needs, providing flexibility and efficiency in your job search journey.

πŸ›’ Supported Websites

Jobify simplifies your job hunt by aggregating opportunities from various platforms. Currently, we support the following major e-commerce websites:

Discover opportunities seamlessly across these platforms and take the next step in your career journey with Jobify.

How to Use πŸ“˜

  1. Login/SignUp To Your Jobify
    • SignUp/Login to Jobify.
  2. Upload Your Resume
    • Easily upload your resume through our user-friendly interface.
  3. Set Your Criteria
    • Specify your desired job criteria, including industry, location.
  4. Receive Daily Alerts
    • Enjoy a curated list of job opportunities which can be viewed on the portal or a curated list of jobs will also be sent to your mailbox.
    • Or One can view jobs on the user friendly interface provided by Jobify.

Improvements over previous projects 🌟

Database Integration

In the previous project, job notifications were sent via email. Now, we have integrated a database to store these job opportunities, providing users with the option to view them directly on the dashboard.

PHP Code Compatibility

Addressed incompatibilities with newer PHP versions when dockerizing the application. Made necessary changes to the PHP codebase to ensure seamless compatibility, enhancing the overall stability and performance of the application in modern environments.

Interactive Dashboard

Experience a major upgrade with the addition of an interactive dashboard. Now, you can conveniently view and explore job opportunities at any time, enhancing your overall user experience. Along with curated list of jobs opportunities sent via emails.

Enhanced Scraper

Our data retrieval process has been revamped with a highly improved scraper. It collects data more efficiently and accurately, ensuring faster updates. Additionally, the scraper, initially designed for LinkedIn, now supports other platforms for a broader job search.

Docker Image Accessibility

Take advantage of readily available Docker images from our public repository. This accessibility eliminates the need to build images from scratch, saving you time and effort during setup.

Deployment to Kubernetes

We've elevated our platform's scalability and resilience by deploying on Kubernetes. This ensures consistent and reliable access to the service, enhancing the overall performance.

Getting Started

πŸš€ Get Ready to Supercharge Your Job Hunt with Jobify!

Welcome to Jobify – your open-source companion for a streamlined job-hunting experience. Get ready to embark on a journey of career exploration and growth. Here's how to kickstart your Jobify experience:

Contents

  1. Working Demo
  2. Roadmap - Work for the upcoming iteration
  3. Installation Guide
  4. Testing
  5. Code Coverage
  6. Technology Used
  7. Use Case
  8. Why
  9. Team Members
  10. Support

Working Demo

group41jobify.mp4

Work for the upcoming iteration

  1. Advanced Search Filters:

    • Allow users to refine their job search with advanced filters, such as industry, company size, job type, and more.
  2. Application Tracking:

    • Enable users to track their job applications, including application status, interview dates, and feedback.
  3. Resume Builder:

    • Offer a built-in tool to help users create and customize their resumes, making it easier to apply for jobs directly through the platform.
  4. Company Reviews and Ratings:

    • Integrate a feature that provides insights into companies, including employee reviews and ratings, helping users make informed decisions.
  5. Networking Opportunities:

    • Create a space for users to connect with professionals, mentors, or other job seekers within the platform.
  6. Learning Resources:

    • Offer educational resources, webinars, or tutorials to help users enhance their skills and stay competitive in the job market.
  7. Event Calendar:

    • Include a calendar highlighting job fairs, networking events, and industry-specific conferences to keep users informed about relevant opportunities.
  8. Mobile App:

    • Develop a mobile application for on-the-go access, making it convenient for users to stay connected with job opportunities.

πŸ”±: Installation Guide

  • After Cloning the Github repository (git clone https://github.com/Swaranjali167/Jobify) to a desired location on your computer. Please follow the steps given below to set up the project to a working condition.

Now with support for docker-compose!

If you don't want to download mysql, or XAMPP locally, all you need is Docker installed to do these steps.

  • the only file you'll need to edit is here for the admins email id and password
  • in the root directory, run:
    docker-compose up
    
    and then head over to http://localhost:8080 and your application is up and running!

Traditional installation

  • Host your MySQL DB using an application by following these steps.
  • Execute Jobify/code/Database/schema/srijas.sql file in the created db
  • Update your DB credentials in the db.properties.template file.
  • Provide executable permissions for setup.sh and execute the file.
  • Update the admin's email ID and password in the main.py file for sending job notification mail.

This will install all the required packages from requirements.txt and create a parameters.json file which is required for accessing the DB.

  • You can either choose to host the project on any online hosting platform or use an application to test the application locally. We used two applications to host the webpage in local -> XAMPP and MAMP Pro

    • MAMP Pro
    • XAMPP
      • If you wish to use XAMPP, download the application and click on the Config button (see picture below)

        xampp-conf
      • Click the Apache(httpd.conf) file and add the your project's directory under "DocumentRoot:"

          DocumentRoot ".../Jobify/code/Web_app"
          <Directory ".../Jobify/code/Web_app">
        
  • After setting up the project, create executable permissions for the following files - run_notifier.sh and start_server.sh

    • To run the job notifier once -> execute run_notifier.sh
    • To run the scheduler -> execute start_server.sh
  • You should be good to start working on the application now.

Testing

We use pytest to perform testing on all unit tests together. The command needs to be run from the home directory of the project. The command is:

python -m pytest test/

Code Coverage

Code coverage is part of the build. Every time new code is pushed to the repository, the build is run, and along with it, code coverage is computed. This can be viewed by selecting the build, and then choosing the codecov pop-up on hover.

Locally, we use the coverage package in python for code coverage. The commands to check code coverage in python are as follows:

coverage run -m pytest test/
coverage report

πŸ’» Technology Used

πŸ’‘ Use Case

Job Seekers: Jobify is an invaluable tool for job seekers aiming to streamline and optimize their job hunting experience. As a recent graduate or a seasoned professional, navigating through numerous job portals can be overwhelming and time-consuming. Jobify provides a tailored solution to efficiently manage the job search process.

- *Use Case Scenario:*
  - *Scenario:* Russel is a recent graduate actively seeking her first job in the tech industry.
  - *Problem:* Russel finds it challenging to keep track of job opportunities, often missing potential postings and feeling overwhelmed by the variety of platforms.
  - *Solution:* Russel starts using Jobify, where she can upload her resume, specify her job criteria, and receive personalized job alerts directly to her email inbox every day at 10:30 AM EST. Additionally, Maria explores the interactive dashboard to view and manage job opportunities conveniently. The enhanced scraper ensures she gets the latest job postings, not just from LinkedIn but from various platforms, broadening her job search.

  Now, Russel can efficiently manage her job search, stay updated with daily alerts, and explore opportunities on the dashboard, all in one place. Jobify simplifies her journey to find the perfect career fit and accelerates her entry into the tech industry.

πŸ“„ Why

In a dynamic job market where opportunities abound, navigating through the myriad of job platforms can be overwhelming for job seekers. Just as the ubiquity of internet access has transformed the retail landscape, the job market has seen a similar shift, making it easier for individuals to explore job opportunities without geographic limitations.

Consider the following points:

  1. Changing Landscape of Job Market: The job market, much like the retail sector, has experienced significant changes. The growth of e-commerce, accelerated by the COVID-19 pandemic, has reshaped the way people work, mirroring the shift in consumer behavior seen in the retail sector.

  2. Evolving Customer Expectations: Just as e-commerce has altered customer expectations in retail, the job market now demands a personalized approach. Job seekers expect platforms to provide tailored services, similar to how e-commerce platforms personalize communications and offer a range of choices.

  3. Intense Competition: The surge in e-commerce has led to intense competition, reflected in price patterns and frequent discounts. Similarly, the job market is highly competitive, with job seekers often grappling with the challenge of finding the best opportunities among a plethora of options.

  4. Efficiency and Ease of Use: In the world of e-commerce, finding the best deals can be a hassle due to cutthroat competition. This challenge is mirrored in the job market, where job seekers face the task of sifting through numerous platforms to identify the most suitable opportunities.

This is where Jobify steps in:

  • Streamlining Job Hunting: Jobify simplifies the job hunting process by offering an easy-to-use, all-in-one-place solution. It aims to reduce the hassle of finding the best job opportunities among various platforms, just as Slash does for finding the best deals in e-commerce.

  • Accessible to Students and Developers: Initially tailored for students seeking the best deals, Jobify is versatile and can be used by anyone willing to develop an application that consumes job-related APIs. It opens up possibilities for developers to create custom applications on top of these APIs, extending its utility beyond its initial scope.

  • Future-Ready: Jobify's future scope includes the potential for a web application with a frontend or mobile applications for Android and iOS that utilize its backend APIs. This adaptability ensures that Jobify remains relevant and can be seamlessly integrated into various applications, providing a forward-looking solution for the evolving job market.

Team Members

πŸ“§ Support

For any queries and help, please reach out to us at: SEJobify41@gmail.com

About

Jobify - Gateway of Endless Opportunities

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 54.4%
  • HTML 34.5%
  • Python 8.5%
  • CSS 2.0%
  • Shell 0.3%
  • Dockerfile 0.2%
  • Hack 0.1%