An open API service indexing awesome lists of open source software.

https://github.com/fedhako7/Job-Bord

A full-stack web application that enables employers to post job listings and job seekers to search and apply for positions. The platform includes a user-friendly interface, secure authentication, and a database to manage job and user data.
https://github.com/fedhako7/Job-Bord

email email-integration expressjs google-auth job-board jwt-authentication mysql nodejs reactjs

Last synced: 3 months ago
JSON representation

A full-stack web application that enables employers to post job listings and job seekers to search and apply for positions. The platform includes a user-friendly interface, secure authentication, and a database to manage job and user data.

Awesome Lists containing this project

README

          

# Job Board
![Employer Home Page](https://github.com/user-attachments/assets/499eed82-7716-4b2c-91e9-26b06121cf91)

## Overview
Job Board is a full-stack web application that connects employers with job seekers. Employers can post job openings, while job seekers can search and apply for positions effortlessly. The platform provides a seamless experience with a user-friendly interface and secure authentication.

## Features
- **Job Posting & Management**: Employers can create, update, and delete job listings.
- **Job Search & Application**: Job seekers can browse and apply for jobs using search filters.
- **User Authentication**:
- JWT-based authentication
- Google OAuth 2.0 login
- Email confirmation successfull application
- **User Dashboards**:
- Employers can manage job listings
- Job seekers can track applications
- **Database Management**: MySQL handles job listings, user profiles, and applications.
- **Responsive UI**: Built with React and Tailwind CSS for a smooth user experience.

## Tech Stack
### Frontend
- **React.js**: For building dynamic and interactive UI
- **Tailwind CSS**: For styling and responsiveness

### Backend
- **Node.js & Express.js**: For handling server-side logic
- **MySQL**: For structured data storage
- **JWT & Google OAuth 2.0**: For authentication security
- **Nodemailer**: For email confirmation

## Screenshots

### Job Lists

![Job lists](https://github.com/user-attachments/assets/53b8e34b-bbfa-49eb-93d7-110bebad3ed8)

### Employer Dashboard

![Employer Home Page](https://github.com/user-attachments/assets/0d04e7fe-d019-4f88-97b4-bb23d2b3ae9f)

### Login Page

![Login Page](https://github.com/user-attachments/assets/dd00e2f4-873c-4519-9267-82575b862f2b)

### Seeker Application History

![Seeker application history - detail](https://github.com/user-attachments/assets/3c563e9d-381a-44ea-8ff1-ccef0326850b)

## Installation & Setup
### Prerequisites
Ensure you have the following installed:
- **Node.js** (latest LTS version recommended)
- **MySQL**
- **Git**

### Steps
1. Clone the repository:
```sh
git clone https://github.com/fedhako7/job-board.git
cd job-board
```
2. Install dependencies:
```sh
npm install
```
3. Set up environment variables:
- Create a `.env` file in the root directory.
- Add the required environment variables (e.g., database credentials, JWT secret, OAuth keys).
4. Start the backend server:
```sh
node app.js
```
5. Start the frontend:
```sh
npm run dev
```

## Project Goals
### This project was built to:
- Demonstrate full-stack development skills using modern frameworks and tools.
- Showcase secure authentication and database management in a real-world application.

## Future Improvements
- Implement real-time notifications for job updates.
- Add an admin dashboard for better platform moderation.
- Introduce AI-based job recommendations.

## Contact
For any inquiries, reach out via [fedhasayelmachew@gmail.com](mailto:fedhasayelmachew@gmail.com).