Kihlot
# Job Board App
A full-stack job board application where users can apply for jobs, rate employers, and manage profiles. Built to demonstrate a production-ready project with React, Node.js, Express, Prisma, and PostgreSQL.
## 🚀 Features
- **User Authentication** – Sign up, login, and secure session management with JWT.
- **Profiles** – View public profiles with bio, skills, education, experience, and ratings.
- **Job Management** – Post jobs (for clients), apply to jobs (for users), and track application status.
- **Ratings & Reviews** – Users can rate completed jobs and leave comments.
- **Prisma + PostgreSQL** – Database schema management, migrations, and queries with Prisma ORM.
- **Responsive UI** – Built with React, mobile-friendly layout.
## 💻 Tech Stack
- **Frontend:** React, React Router, Axios, React Google ReCAPTCHA
- **Backend:** Node.js, Express, Prisma, PostgreSQL
- **Deployment:** Render (backend), Netlify / Render (frontend)
- **Other:** JWT, bcrypt for authentication, dotenv for environment variables
## 📸 Screenshots / Demo
> Include a few screenshots or GIFs of the app here showing login, profiles, jobs, ratings, etc.
## ⚡ Getting Started
To run the app locally:
1. Clone the repo:
```bash
git clone https://github.com/<your-username>/Job_Board_App.git
cd Job_Board_App- Install dependencies for backend:
npm install- Set up environment variables in
.env(example):
DATABASE_URL=postgresql://user:password@localhost:5432/jobboard
PORT=5000
JWT_SECRET=your_jwt_secret
REFRESH_SECRET=your_refresh_secret
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_pass
CLIENT_ORIGIN=http://localhost:3000
RECAPTCHA_SECRET_KEY=your_recaptcha_secret- Run database migrations:
npx prisma migrate dev- Start the backend server:
npm start- Open another terminal for frontend:
cd frontend
npm install
npm start- Visit the app in your browser:
http://localhost:3000
The frontend deployment is still in progress due to domain configuration and environment variable setup. The app is fully functional locally.
backend/
├─ server.js
├─ routes/
├─ controllers/
├─ prisma/
frontend/
├─ public/
├─ src/
│ ├─ pages/
│ ├─ components/
│ └─ App.js
This project was created as a personal portfolio project. Contributions are welcome via pull requests.
MIT License