Jobify: Your Gateway to Endless Opportunities
Jobify: Your Gateway to Endless Opportunities
"Introducing Jobify, your ultimate destination for simplifying your job hunt, making it a breeze rather than a burden".
With Jobify, you have the power to upload your resume and specify your desired job criteria. Our innovative application diligently scours numerous job portals, ensuring that it identifies the positions that align perfectly with your skills and requirements.
What sets us apart is our commitment to keeping you in the loop. Every day at 10:30 AM EST, you'll receive tailored job opportunities straight to your email inbox. Say goodbye to missed job postings and hello to the opportunities you've been searching for."
This is our submission for the Project for Software Engineering CSC 510 Fall 2023.
https://github.com/Swaranjali167/Jobify/assets/72608245/17107cf3-d1af-4586-8ef1-bcd36a8ab25d
Code Refactoring: Modularization the codebase. We reconfigured the database and implemented cascading features to simplify operations. Also, we split the functionalities into multiple files to create modularity and reduce single source of failure.
UI and UX: We completely changed the UI and UX of the Job aggregator to make it easier for user as well as owner to manage, edit and work smoothly. The new UI uses minimalism and provides only required data in a concise format.
Validations: We validated input for password, email, name, job type, and location for better user experience and for having clean data.
Analytics: Integrated functionality for getting job counts per dashboard in the mail sent to the user. Included company name and dates when jobs were posted.
Password recovery: Added functionality for sending mail to users for password recovery so that the user can reset the password.
Code Coverage: Test Cases The project had very few test cases when we took over. From there, we have added test cases for both existing and new features. Our code coverage currently stands at 96%, with 40+ test cases.
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
If you wish to use XAMPP, download the application and click on the Config button (see picture below)
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
You should be good to start working on the application now.
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 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