A modern job listing application built with React and Vite that allows users to browse, search, add, edit, and manage job postings with a beautiful UI powered by Tailwind CSS.
- Browse Jobs: View a comprehensive list of available job positions
- Job Details: View detailed information about each job posting
- Add Jobs: Create new job listings with a user-friendly form
- Edit Jobs: Update existing job postings
- Delete Jobs: Remove job listings
- Responsive Design: Fully responsive UI built with Tailwind CSS
- Loading States: Smooth loading animations with React Spinners
- Toast Notifications: User feedback with React Toastify
- Fast Development: Powered by Vite for lightning-fast HMR (Hot Module Replacement)
- Mock API: JSON Server for development and testing
- React 19 - Latest version of React for building user interfaces
- Vite - Next-generation frontend build tool for fast development
- React Router DOM - Client-side routing and navigation
- Tailwind CSS - Utility-first CSS framework for modern styling
- React Icons - Popular icon library
- React Toastify - Beautiful toast notifications
- React Spinners - Loading spinners and animations
- JSON Server - Mock REST API for development
Before running this project, make sure you have:
- Node.js (v16 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/Pratham0667/react-job.git- Navigate to the project directory:
cd react-job/react-jobs- Install dependencies:
npm installYou need to run two terminals simultaneously:
Terminal 1 - Start the JSON Server (Mock Backend):
npm run serverThis will start the JSON Server on http://localhost:8000
Terminal 2 - Start the Vite Development Server:
npm run devThis will start the React app, usually on http://localhost:5173
The app will automatically open in your browser with hot module replacement enabled.
Create an optimized production build:
npm run buildPreview the production build:
npm run previewRun ESLint to check code quality:
npm run lintreact-jobs/
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── layouts/ # Layout components
│ ├── jobs.json # Mock job data for JSON Server
│ ├── App.jsx # Main application component
│ ├── index.css # Global styles with Tailwind
│ └── main.jsx # Application entry point
├── .eslintrc.cjs # ESLint configuration
├── tailwind.config.js # Tailwind CSS configuration
├── postcss.config.js # PostCSS configuration
├── vite.config.js # Vite configuration
├── package.json
└── README.md
| Command | Description |
|---|---|
npm run dev |
Starts Vite development server with HMR |
npm run build |
Creates production build in dist/ folder |
npm run preview |
Preview production build locally |
npm run server |
Starts JSON Server on port 8000 |
npm run lint |
Runs ESLint to check code quality |
- Client-side routing for seamless navigation
- Dynamic routes for individual job pages
- Nested routes and layouts
- Utility-first CSS for rapid UI development
- Fully responsive design
- Custom theme configuration
- RESTful API endpoints for CRUD operations
- Auto-generated routes from
jobs.json - Perfect for development and prototyping
- Success/error notifications
- Customizable toast messages
- Beautiful animations
The JSON Server provides the following endpoints:
GET /jobs- Get all jobsGET /jobs/:id- Get a single jobPOST /jobs- Create a new jobPUT /jobs/:id- Update a jobDELETE /jobs/:id- Delete a job
This project uses Tailwind CSS v3 with the following features:
- Utility-first approach
- Custom color schemes
- Responsive breakpoints
- Dark mode support (if implemented)
- User authentication and authorization
- Search and filter functionality
- Job categories and tags
- Save favorite jobs
- Job application tracking
- Email notifications
- Employer dashboard
- Integration with real job APIs
- Advanced filtering and sorting
- Pagination for large datasets
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/YourFeature) - Open a Pull Request
Pratham
- GitHub: @Pratham0667
- React team for React 19
- Vite team for the amazing build tool
- Tailwind CSS for the utility-first framework
- All open-source contributors
For questions or issues, please open an issue in the GitHub repository.
Made with ❤️ using React & Vite