Job finder is a Java-based project designed to provide users with a comprehensive dashboard for navigating real-time employee offers, conducting web scraping from three user-selected websites, and utilizing machine learning algorithms for job prediction. This project is intentionally crafted to be minimalist, relying solely on Java and MySQL along with specific libraries catering to web scraping, machine learning, and database interactions.For the machine learning we used supervised learning model (Clustering) and unsupervised learning model (decision tree and random forest).
-
User Authentication:
- Secure sign-in and sign-up functionalities.
- Passwords are encrypted using the bcrypt library to ensure user data security.
-
Real-time Employee Offers:
- Dynamic dashboard displaying real-time employee offers.
- Visual representation through tables and charts for enhanced insights.
-
Web Scraping:
- Users can choose one, two, or three websites for data scraping.
- Utilizes the Jsoup library to fetch data from selected websites.
- Scraped data is efficiently stored in the MySQL database.
- Displays Data in tables and graphs.
-
Job Search:
- Intuitive job search functionality allowing users to filter results based on contract type, location, education level, and sector.
-
Predictive Analysis:
- Advanced job title prediction using machine learning algorithms based on education level,contract type,location and sector.
- Employs clustering, decision tree, and random forest algorithms from the Weka library.
- Java: Primary programming language for development.
- MySQL: Database management system for data storage.
- Jsoup: Library for efficient web scraping.
- Weka: Machine learning library for predictive analysis.
- OpenCSV: Library for seamless data conversion to CSV format.
- BCrypt: Library for secure password encryption.
- MySQL Connector: Facilitates Java application connectivity to the MySQL database.
- Clone the Repository:
git clone [https://github.com/OUALi0/JavaProject_Job-finder.git]
- Database configuration:
- Make sure to change the port and the ip based on your configuration.
- Build and Run