npm installnpm run devNavigate to http://localhost:5173 (or the port shown in terminal)
Career Cruise is a modern job search platform that:
- Searches real job listings from the JSearch API
- Filters jobs by category (All, Design, Engineering, Marketing)
- Shows 10 jobs per page with smooth pagination
- Provides a beautiful, responsive UI
career_cruise/
├── src/
│ ├── components/ # Reusable UI components
│ │ ├── ui/ # Base components (buttons, cards, etc.)
│ │ ├── Header.tsx # Navigation bar
│ │ ├── jobCard.tsx # Individual job display
│ │ ├── Pagination.tsx # Page navigation
│ │ └── search-form.tsx # Search interface
│ ├── pages/ # Page components
│ │ └── Home.tsx # Main page with jobs
│ ├── types/ # TypeScript definitions
│ └── App.tsx # Root component
└── package.json # Dependencies
- Fetches jobs from API
- Manages pagination state
- Handles search and filtering
- Displays individual job information
- Shows company logo, title, location, salary
- Page navigation controls
- Previous/Next buttons
- TypeScript interfaces for Job data
- React 18 - UI framework
- TypeScript - Type safety
- Vite 7 - Build tool (super fast!)
- Tailwind CSS - Styling
- React Router - Navigation
- Axios - API calls
- JSearch API - Job data source
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Check code quality- User clicks page button → Updates
currentPagestate useEffectdetects change → Triggers API call- API fetches 10 jobs → For that specific page
- Page scrolls smoothly → To jobs section
- UI updates → Shows new jobs
- User enters keyword + location → Types in search form
- Clicks "Find Jobs" → Triggers
handleSearch - API call with parameters → Sends query to JSearch
- Results displayed → Shows matching jobs
- Page resets to 1 → Shows first page of results
Edit src/pages/Home.tsx:
<TabsTrigger value="sales">
Sales
</TabsTrigger>Edit src/pages/Home.tsx:
const jobsPerPage = 20 // Change from 10 to 20Edit src/components/jobCard.tsx:
<Card className="your-custom-classes">Edit tailwind.config.js:
colors: {
primary: '#your-color-here'
}The server will automatically try another port. Check the terminal output for the actual URL.
Check that your RapidAPI key is valid in src/pages/Home.tsx.
Make sure all dependencies are installed:
npm installSee PROJECT_DOCUMENTATION.md for complete, in-depth documentation covering:
- Detailed architecture
- Component breakdown
- State management patterns
- API integration details
- Performance optimization
- Best practices
- Future roadmap
- Understand component structure
- Learn how state updates UI
- Follow data flow in Home.tsx
- Understand useEffect dependencies
- Learn TypeScript types
- Study API integration patterns
- Optimize performance
- Add new features
- Implement testing
- ✅ Run the project
- ✅ Browse the code
- ✅ Read
PROJECT_DOCUMENTATION.md - ✅ Make small changes
- ✅ Add a new feature
Ready to dive deeper? Open PROJECT_DOCUMENTATION.md for the complete guide!