The internship application and job application process is no picnic. Job application management is time-consuming. With the referrals and deadlines, the whole process can get daunting. Our app enables you to track and organize your job application process, and manage it, without the inconvenience of clunky Excel spreadsheets.
Our software maintains a record of the work you have wish-listed. It records those companies that you have applied for and records any rejections. Instead of making the user visit each company's website for prospects, our software enables the applicant to look for them directly using simple keywords. Any possible offer of work may then be wish-listed by the applicant.
Containerizing the application with docker has helped us achieve 2 significant things
- Dramatically boosting the speed at which one would be able to configure the project in their machines.
- Automation of the entire run of the application including running the tests!
- Improved scalability and maintainability with optimized querying and restructured user entity fields.
- AI-driven job matching system leveraging user profiles and resumes for better recommendations.
- Enhanced profile updates and better resume parsing for accurate job-fit analysis.
- AI integration for personalized career path suggestions and top opportunity highlights.
- OAuth Restoration
- Docker Restoration Repair
- Authentication into the application randomly not working.
- Resolved profile update errors and improved system stability and efficiency
- Basic Design
- Samples
- New Features In Phase 3
- Future Scope
- Explanation
- Technologies Used
- Installation
- Hosting the Database
- License
- How to Contribute
- Team Members
The introductory visual interface displayed from which a user is able to register and log into the application. User can also login or sign up through Google Authorization.
The Google Authorization Login:After Logging In, the Profile page of the user is displayed where the user details such as Name, Institution, email, phone number, address, skills, and more are shown. Users can add or update information to their profile, such as their personal information, skills, preferred job locations, and their experience level.
-
A past analyses column has been added to the dashboard. Here the users will get a summarized version of the comparison between their resume and the job they would like to apply to.
-
Another feature has been added for ease of use by mentioning a summary of the applications made by each user. The dashboard now shows a count of all the applications as well as the category- Applied, Rejected, Wish List and Waiting for Referral.
-
In the earlier versions of the software the skills were not saved for when the user logs in again. We have solved this bug. Now the users can see their previous preferences after logging in again. They can then update these without any hassle. We have made sure that our database and our code takes care of managing this
-
We have incorporated an AI model to recommend jobs to the user. Instead of just fetching jobs from google, our code will now based off the preferences of the user, their skills, their experience will curate job opportunities for the user. In this way, the user is only recommended jobs that fit their application requirements and they don’t have to waste time reading the job description thoroughly
The user is able to see different saved applications - Waitlisted applications, Waiting for Refereals, Applied Jobs, Application Status. The user is also able to add more jobs to track using this screen.
Here, user is able to see different jobs which would be recommended to them according to their profile and also their interest. User can apply for that job from this page as well.
- AI Job Matching: Advanced AI predicts best-fit jobs and offers real-time market insights based on user skills.
- Automated Tracking: AI tracks application statuses via parsing and updates progress from job portals.
- Interview Prep: AI-driven mock interviews with real-time feedback and role-specific questions.
- Multi-Platform Sync: Syncs with LinkedIn, job boards, and ATS; mobile app for real-time updates.
- Python
- Node.Js
- Flask
- MongoDB
- React
- Docker
- 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)
- Docker-Desktop (Latest version as of 11/27)
-
Clone the Repository
- Use the command
git clone https://github.com/ncsu-csc-510/Project2.gitto clone the repository.
- Use the command
-
Start the Docker Engine
- Ensure that Docker is installed on your system. If not, you can download it from the official Docker website.
- Start the Docker engine on your machine. The command varies based on your operating system.
-
Build Images
- Navigate to the backend folder and build the image for the API using the following command:
docker build -f dockerfile.api -t ats-api . - Similarly, navigate to the frontend folder and build the image for the client using the following command:
docker build -f dockerfile.client -t ats-client .
- Navigate to the backend folder and build the image for the API using the following command:
-
Run Docker Compose
- Finally, run the following command to start the application:
docker-compose up
- Finally, run the following command to start the application:
- Download MongoDB Community Server
- Follow the Installion Guide
- In app.py set 'host' string to 'localhost'
- Run the local database:
mongodb
- Recommended: Use a GUI such as Studio 3T to more easily interact with the database
- Create account for MongoDB
- If current MongoDB Atlas owner adds your username/password to the cluster, skip to step 4 *
- Follow MongoDB Atlas Setup Guide to create a database collection for hosting applications
- Create application.yml in the backend folder with the following content:
GOOGLE_CLIENT_ID : <Oauth Google ID> GOOGLE_CLIENT_SECRET : <Oauth Google Secret> CONF_URL : https://accounts.google.com/.well-known/openid-configuration SECRET_KEY : <Any Secret You Want> USERNAME : <MongoDB Atlas Username> PASSWORD : <MongoDB Atlas Password> CLUSTER_URL : <MongoDB Cluster URL> - In app.py set 'host' string to your MongoDB Atlas connection string. Replace the username and password with {username} and {password} respectively
- 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: MONGO_PASS:
The project is licensed under the MIT license.
Please see our CONTRIBUTING.md for instructions on how to contribute to the repository and assist us in improving the project.
- Anchal Kakadia
- Aniruddha Kulkarni
- Aranya Venugopal











