JobHive is a professional networking platform built using Spring Boot and MySQL, similar to platforms like LinkedIn.
- Project Description
- Features Implemented
- Technical Stack
- Project Setup and Installation Instructions
- How to Use JobHive Platform
- Project Structure
- Contributing
- Show your support
- License
JobHive is a professional networking platform built using Spring Boot and MySQL, similar to platforms like LinkedIn. The platform enables users to connect with professionals, build detailed profiles, search for job listings, and communicate directly via messaging.
JobHive is designed to provide a seamless experience for professionals looking to enhance their careers. With features like AI-driven job recommendations and customizable networking, the platform connects users based on industries, skills, and interests. Employers can post jobs, review applications, and manage candidates.
This platform was developed as part of an Advanced Diploma course at the National Skill Training Institute, Bengaluru.
-
User Registration and Authentication:
- Users can register for an account.
- Existing users can log in using their email and password.
- A verification email must be sent after registration to confirm user identity.
- User can log out and end their session.
-
User Profile Creation:
- Users should create and update their professional profiles, including personal details, skills, education, and work experience.
- Users can upload profile and background images to enhance their profiles.
-
Content Interaction:
- Users should create and share posts, articles, and events.
- The ability to like, comment, and reply to comments on posts and articles.
-
Search Functionality:
- Users should search for posts, articles, events, and other users easily.
- Filters should be available to refine search results.
-
Connection Management:
- Users should connect with other users by sending and accepting connection requests.
- Users can follow or unfollow others to manage their feeds.
-
Messaging System:
- Users should send private messages to their connections.
- Notifications for new messages and interactions (likes, comments) on posts.
-
Job Listings:
- Users should browse job postings, apply for jobs, and upload resumes.
- Employers can view applicants and manage job listings
-
Notification System:
- Connections are notified when a user creates a new post, ensuring engagement.
- Users receive notifications when their posts are commented on or liked.
- Backend: Java, Spring Boot, Hibernate (JPA)
- Frontend: Thymeleaf (HTML templates), Bootstrap, HTML, CSS
- Database: MySQL
- Build Tool: Maven
- Image Handling: Images are stored as
byte[]directly in the database.
To set up and run this project, ensure you have the following installed:
- Java 17 or higher: Download Java
- Maven: Download Maven
- MySQL (or any other database): You need to have a running MySQL instance.
- IDE: Any Java IDE (Eclipse, IntelliJ IDEA, NetBeans) for development and testing.
-
Clone the repository
git clone https://github.com/keerti1924/JobHive-Project-Job-Platform.git
-
Create a MySQL Database
-
Create a new database named
jobhivein your MySQL instance.CREATE DATABASE jobhive;
- Update Database Credentials
-
Open the
src/main/resources/application.propertiesfile and update the database connection settings with your MySQL credentials:spring.datasource.url=jdbc:mysql://localhost:3306/jobhive spring.datasource.username=root spring.datasource.password=your_password spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true
- Build the Project
-
Navigate to the project root folder and run the Maven build command:
mvn clean install
- Run the Application
-
After building, run the Spring Boot application using the following command:
mvn spring-boot:run
- Access the Application
-
Open a browser and navigate to:
http://localhost:8080
- Visit the platform at
http://localhost:8080or the deployed version. - If you’re new, click on the Sign Up button to create an account by entering your email and setting a password.
- Existing users can click Login and enter their credentials to access the platform.
- After logging in, head to the Profile section.
- Fill in your personal details like name, skills, education, and experience.
- You can also upload a profile picture and background image to personalize your profile.
- Navigate to the Jobs section. Use the search bar to find job postings that match your skills and interests.
- Filter jobs by location, industry, or other relevant criteria.
- Once you find a job that interests you, click on the Apply button.
- You can upload your resume to complete your application.
- Go to the Network section to search for professionals in your field.
- Send connection requests to build your professional network.
- Once connected, you can view their profiles and interact through messaging.
- On the HomePage, you can create posts to share updates or articles with your network.
- You can also like, comment, or share posts made by others.
- Use the Messaging feature to send private messages to your connections.
- You will receive notifications when you have new messages.
- Check the Notifications section to stay updated on job applications, new connections, and interactions with your posts.
The project follows the Model-View-Controller (MVC) pattern and is organized into the following primary packages:
com.jobhive.controller: Handles the user requests (HTTP endpoints) and maps them to the relevant services.com.jobhive.model: Defines the entities (database models) such as User, Job, Post, etc.com.jobhive.repository: Contains the data access logic using JPA repositories to interact with the database.com.jobhive.service: Implements the business logic of the application, e.g., creating jobs, handling user connections, etc.resources/templates: Thymeleaf templates for rendering dynamic HTML pages.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Give a ⭐️ if you like this project!
MIT (c) Keerti
