This project is a job board application built with a React frontend and a Node.js backend. The backend is powered by Express.js and MongoDB, providing a RESTful API for managing job listings. The frontend is a React.js application that interacts with the backend to display job listings, search functionality, and job application features.
- Job Listings: Display a list of job postings with details such as title, company, location, and salary.
- Search Functionality: Search for jobs by title, company, or location.
- Filters: Filter job listings based on criteria such as location or company.
- Apply for Jobs: Apply for jobs directly through the UI.
- Backend Integration: Connects to MongoDB for persistent job data storage.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- ORM: Mongoose
- Node.js (version 14.x or later)
- MongoDB
- npm (Node Package Manager)
-
Navigate to the
backenddirectory:cd backend -
Install backend dependencies:
npm install
-
Create a
.envfile for environment variables (optional, e.g., for MongoDB connection string):MONGODB_URI=your-url PORT=your-port
-
Start the backend server:
npm start
-
Navigate to the
frontenddirectory:cd frontend -
Install frontend dependencies:
npm install
-
Start the frontend development server:
npm start
- Description: Fetch all job listings.
- Response: JSON array of job objects.
- Description: Add a new job listing.
- Request Body: JSON object with job details (title, company, location, description, salary, isNew).
- Response: JSON object with the created job.
- Description: Update an existing job listing.
- Request Body: JSON object with updated job details.
- Response: JSON object with the updated job.
- Description: Delete a job listing by ID.
- Response: JSON object with a confirmation message.
job-board/
├── backend/
│ ├── models/
│ │ └── job.js # Mongoose model for job listings
│ ├── public/
│ │ ├── profile/ # Profile images or documents
│ │ └── resume/ # Resumes or documents
│ ├── server.js # Main server file
│ └── .env # Environment variables (optional)
└── frontend/
├── public/
└── src/
├── components/ # React components
├── App.js # Main React component
├── App.css # Styles for React components
└── index.js # Entry point for React application
└── package.json # Frontend dependencies and scripts- Ensure MongoDB is running on your local machine.
- Start the backend server using
npm startin thebackenddirectory. - Start the frontend development server using
npm startin thefrontenddirectory. - Open your browser and navigate to
http://localhost:3000to access the job board application.
If you would like to contribute to this project, please fork the repository and submit a pull request with your changes.