JobApp is a comprehensive job application management system designed to streamline the process of job posting and application for both employers and job seekers.
Administrators have the following capabilities:
- Post new job listings
- Edit existing job postings
- Update job details
- Delete job listings
- Can View all jobs posted by admin
Job seekers can:
- View all job listings posted by admins
- Apply to job openings
- View their applied jobs in a dedicated section
- Filter jobs by company name, location, and contract type
- React.js
- Redux for state management
- Material-UI for UI components
- Axios for API requests
- Node.js
- Express.js
- MongoDB for database
- Mongoose for object modeling
- JSON Web Tokens (JWT) for authentication
-
Clone the repository:
git clone https://github.com/rohanvron/JobApp
cd JobApp
-
Install dependencies:
cd frontend && npm install cd ../backend && npm install
-
Set up the MongoDB server:
- Start your MongoDB server
- Create a database named
jobApp
- The collection will be
users
&jobs
- Set up environment variables:
Create a
.env
file in thebackend
directory with the following content:MONGODB_URI=mongodb: your connection string
PORT=5000
JWT_SECRET=jwt_secret
-
Start the backend server:
cd backend npm run dev
-
In a new terminal, start the frontend development server:
cd frontend npm run dev
-
Open your browser and navigate to
http://localhost:5173/JobApp
to view the application.
- Frontend: GitHub Pages
- Backend: Vercel
- POST /api/auth/signup - User registration
- POST /api/auth/login - User login
- GET /api/jobs - Fetch all jobs
- POST /api/jobs - Create a new job (Admin only)
- PUT /api/jobs/:id - Update a job (Admin only)
- DELETE /api/jobs/:id - Delete a job (Admin only)
- POST /api/jobs/:id/apply - Apply for a job (User only)