Skip to content

Welcome to the Job Board Platform, a sophisticated full-stack web application designed to facilitate seamless interaction between employers and candidates in the recruitment process.

Notifications You must be signed in to change notification settings

badhon252/talentFlow

Repository files navigation

Job Board Platform

Table of Contents

Introduction

Welcome to the Job Board Platform, a sophisticated full-stack web application designed to facilitate seamless interaction between employers and candidates in the recruitment process. This comprehensive platform boasts a range of features tailored to meet the diverse needs of both employers and job seekers. Developed with cutting-edge technologies, the Job Board Platform is poised to revolutionize the way recruitment is conducted, providing efficiency, security, and accessibility.

Features

  • User Authentication: Robust authentication mechanisms ensure secure user registration and login.
  • Role-Based Access Control: Employers and candidates enjoy distinct functionalities tailored to their roles.
  • Job Listings: Employers can effortlessly create, update, and manage job listings.
  • Job Applications: Candidates have the flexibility to browse job listings, apply for positions, and upload resumes.
  • Dashboards: Dedicated dashboards empower employers and candidates to efficiently manage listings and applications.
  • Notifications: Real-time email notifications keep users informed about important updates and events.
  • Responsive Design: A sleek and responsive user interface ensures optimal user experience across devices.

Tech Stack

The Job Board Platform leverages a powerful combination of modern technologies to deliver exceptional performance and reliability:

  • Frontend: Next.js, TypeScript, Tailwind CSS
  • Backend: Node.js
  • Database: PostgreSQL (Prisma ORM)
  • Authentication: JSON Web Tokens (JWT)
  • Testing: Jest
  • Code Quality: ESLint
  • Git Hooks: Husky
  • Commit Convention: Commitizen

Setup Instructions

Prerequisites

Ensure you have the following prerequisites installed on your system:

  • Node.js (v14 or higher)
  • npm or Yarn
  • PostgreSQL
  • Git

Installation

  1. Clone the repository:

    git clone https://github.com/badhon252/talentflow.git
    

    cd job-board-platform

    Install dependencies:

npm install

Set up environment variables: Create a .env file in the root directory with the following variables:

makefile

JWT_SECRET=your_jwt_secret ```

Set up the database:


```npx prisma migrate dev --name init
npx prisma db seed```

Start the development server:

``` npm run dev```

    The application should now be running on http://localhost:3000/

##Project Structure

The project adheres to a structured organization to ensure maintainability and scalability:

```
job-board-platform/
├── prisma/ # Prisma schema and migrations
├── public/ # Public assets
├── src/ # Source files
│ ├── components/ # React components
│ ├── pages/ # Next.js pages
│ ├── styles/ # CSS styles
│ ├── utils/ # Utility functions
│ ├── hooks/ # Custom hooks
│ ├── prisma/ # Prisma client
│ └── ... # Other directories and files
├── tests/ # Test files
├── .eslintrc.json # ESLint configuration
├── jest.config.js # Jest configuration
├── next.config.js # Next.js configuration
└── ... # Other root-level directories and files
```

###Usage

    Register and Login:
        Navigate to the registration page to create an account as an employer or candidate.
        Log in to access the respective dashboards.
    Employer Dashboard:
        Post new job listings, edit existing ones, and manage applications effortlessly.
    Candidate Dashboard:
        Browse job listings, apply for positions, and monitor application status seamlessly.
    Notifications:
        Stay updated with real-time email notifications for important updates and events.

##Testing
Unit Tests

Run unit tests to ensure code integrity and reliability:

```
npm run test

Deplo1yment Vercel (Frontend and Backend)

Deploy the application with ease using Vercel:

Login to Vercel and create a new project.
Import your GitHub repository and configure the project settings.
Deploy the application effortlessly.

Demo and Screenshots Live Demo

Experience the Job Board Platform firsthand by exploring our live demo. Screenshots

Get a glimpse of the platform's sleek interface and powerful features through our curated screenshots.

##API Documentation

Endpoints

###User Authentication

  POST /api/auth/login - Login a user ```

Job Listings

 ``` GET /api/jobs - Retrieve all job listings
  POST /api/jobs - Create a new job listing (Employer only)
  PUT /api/jobs/:id - Update a job listing (Employer only)
  DELETE /api/jobs/:id - Delete a job listing (Employer only)```

Job Applications

```  POST /api/jobs/:id/apply - Apply for a job (Candidate only)
  GET /api/jobs/:id/applications - Retrieve applications for a job (Employer only)```

For detailed API documentation, please refer to the API Docs.
Common Issues and Troubleshooting

Address common issues with ease using our troubleshooting guide:

  Database Connection Error:
      Ensure your PostgreSQL URI is correct and the database server is running.
  Environment Variables Not Loaded:
      Double-check the .env file for correct variable names and values.
  Port Conflicts:
      Ensure that the ports defined in your .env file are not in use by other applications.

##Contributing

We welcome contributions from the community to enhance the Job Board Platform. Follow these steps to contribute:

  Fork the repository.
  ```Create a new branch (git checkout -b feature/your-feature).
  Commit your changes (git commit -am 'Add new feature').
  Push to the branch (git push origin feature/your-feature).
  Create a new Pull Request.
```
##License

The Job Board Platform is licensed under the MIT License. See the LICENSE file for more information.
Contact

For inquiries or feedback, please contact:

-Khalid Hossain Badhon
-Email: dev.khalidhossain@gmail.com
-GitHub: badhon252

About

Welcome to the Job Board Platform, a sophisticated full-stack web application designed to facilitate seamless interaction between employers and candidates in the recruitment process.

Topics

Resources

Stars

Watchers

Forks