This repo captures the finished exercises from Traversy Media's React Crash Course. The app in react-jobs/ is a job board that simulates a production workflow: it talks to a JSON Server API, uses React Router loaders/forms, and applies Tailwind-driven styling (plus niceties like React Toastify, React Icons, and ClipLoader).
- Job listing UI – Implements the hero, cards, and listing grid from the course modules (see react-jobs/src/components).
- Routing exercises – react-jobs/src/App.jsx and react-jobs/src/pages cover nested layouts, loaders, and dynamic params exactly as demonstrated in the lessons.
- JSON Server practice – Running
npm run serverserves react-jobs/src/jobs.json, letting the Add/Edit/Details pages practice POST/PUT/DELETE calls without a custom backend. - Feedback patterns – Tailwind utility classes plus the spinner/toast components (e.g. react-jobs/src/components/Spinner.jsx) mirror the course approach to loading and success states.
- React 19 + React Router 7
- Vite 7 bundler with ESLint 9
- Tailwind CSS 4 via
@tailwindcss/vite - JSON Server 1.0 beta for local API prototyping
- React Toastify and React Icons for UI feedback
- Node.js 18+ (npm included)
- Two terminal tabs or panes available for running the dev server and JSON Server simultaneously
cd react-jobsnpm install- In one terminal run
npm run server(watchessrc/jobs.jsonon port 8000). - In another terminal run
npm run dev(Vite dev server on http://localhost:5173 with the/apiproxy). - Optional:
npm run build && npm run previewto test the production bundle.
npm run dev– start Vite in development mode with HMR.npm run build– emit the optimized production bundle.npm run preview– serve the build output locally.npm run lint– run ESLint with the base React/Vite rules.npm run server– boot JSON Server to enable the CRUD pages.
react-jobs/src/pages– route-level components for browsing, viewing, adding, and editing jobs.react-jobs/src/components– shared UI building blocks (Hero, Navbar, JobListings, toasts, etc.).react-jobs/src/layouts/MainLayout.jsx– wraps routes with the nav + toast container.react-jobs/src/jobs.json– seed data consumed by JSON Server.