✅ User Registration (React form + API) ✅ Login & Authentication (JWT or Token based) ✅ Job Listing API ✅ Apply Job Endpoint ✅ Prevent Duplicate Applications ✅ PostgreSQL Integration ✅ API Testing with Postman ✅ Frontend UI with Tailwind CSS and React Router
| Layer | Technology |
|---|---|
| Frontend | React (Vite) |
| UI Framework | Tailwind CSS |
| Routing | React Router |
| Backend | Django |
| API | Django REST Framework |
| Database | PostgreSQL (Production) & SQLite (Dev) |
| API Testing | Postman |
git clone https://github.com/jvlcode/job-portal.git
cd job-portalcd backend
python -m venv venv
source venv/bin/activate # (Windows: venv\Scripts\activate)
pip install -r requirements.txtCreate .env with database credentials:
SECRET_KEY=your_secret_key
DEBUG=True
DB_NAME=postgres_db_name
DB_USER=postgres_user
DB_PASSWORD=password
DB_HOST=localhost
DB_PORT=5432
Run database migrations:
python manage.py makemigrations
python manage.py migrateStart backend server:
python manage.py runservercd ../frontend
npm install
npm run dev- Visit:
http://localhost:3000
job-portal/
├── backend/ # Django backend
│ ├── manage.py
│ ├── jobportal/ # Django app
│ └── requirements.txt
├── frontend/ # React frontend (Vite)
│ ├── src/
│ └── package.json
└── README.md
| Endpoint | Method | Description |
|---|---|---|
/api/register/ |
POST | Register new user |
/api/login/ |
POST | Login & get token |
/api/jobs/ |
GET | List all jobs |
/api/jobs/apply/ |
POST | Apply for a job |
/api/user/ |
GET | User profile |
- Import Postman collection (if provided)
- Test Register API
- Test Login & Save Token
- Use Auth Token to test Job Listing API
- Apply for Jobs securely
Contributions are welcome! To contribute:
- Fork the repo
- Create a feature branch
- Submit a pull request