A modern, feature-rich job search platform built with React 19, TypeScript, and Tailwind CSS
JobHuntly Frontend is the client-side application of a comprehensive job search platform that connects job seekers with recruiters. Built with cutting-edge technologies, it provides an intuitive, responsive, and feature-rich user experience for browsing jobs, managing applications, and company recruitment workflows.
π Related Repositories:
- Backend API - Express.js REST API
- Admin Dashboard - Next.js Admin Panel
- Advanced Job Search - Filter by location, salary, job type, experience level
- Company Discovery - Browse and explore company profiles
- Application Tracking - Monitor application status in real-time
- Profile Management - Create and customize professional profiles
- Resume Upload - PDF resume viewing and management
- Real-time Notifications - Get instant updates via Socket.io
- Premium Subscriptions - Stripe-powered payment integration
- Company Dashboard - Comprehensive analytics and insights
- Job Posting - Multi-step job creation wizard
- Applicant Management - Review applications, resumes, and Q&A responses
- Application Tracking - Track and manage candidate pipeline
- Company Profile - Showcase company culture and benefits
- Real-time Updates - Instant notifications for new applications
- React 19.2.0 - Latest React with concurrent features
- TypeScript 5.9.3 - Type-safe development
- Vite 7.2.4 - Lightning-fast build tool
- React Router 7.9.6 - Client-side routing
- Tailwind CSS 4.1.17 - Utility-first CSS framework
- Shadcn UI - Accessible component library (Radix UI)
- Lucide React - Beautiful icon library
- FontAwesome - Additional icon support
- React Hook Form 7.68.0 - Performant form validation
- Yup 1.7.1 - Schema validation
- React Select 5.10.2 - Advanced select components
- Axios 1.13.2 - HTTP client with interceptors
- Socket.io Client 4.8.3 - Real-time bidirectional communication
- Stripe.js 8.6.0 - Payment processing
- React PDF 10.2.0 - PDF viewing capabilities
- Recharts 3.5.0 - Data visualization
- Sonner 2.0.7 - Toast notifications
- Day.js 1.11.19 - Date manipulation
- Node.js 18+ and npm/yarn
- Backend API running (see Backend Repository)
- Clone the repository
git clone https://github.com/shehabgamaleldeen/JobHuntly-frontend.git
cd JobHuntly-frontend- Install dependencies
npm install- Environment Setup
Create a .env file in the root directory:
VITE_API_BASE_URL=http://localhost:3000/api
VITE_STRIPE_PUBLIC_KEY=your_stripe_public_key- Run development server
npm run devThe application will be available at http://localhost:5173
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLintsrc/
βββ components/
β βββ Applicants/ # Job seeker components
β β βββ LandingPage/
β β βββ FindJobs/
β β βββ JobDescriptions/
β β βββ MyApplications/
β β βββ DashboardSettings/
β βββ Recruiters/ # Recruiter components
β β βββ Dashboard/
β β βββ JobCreate/
β β βββ JobListing/
β β βββ Applicants/
β β βββ DashboardSettings/
β βββ Basic/ # Shared components
β β βββ Navbar/
β β βββ Footer/
β β βββ NotFoundPage/
β βββ Premium/ # Payment & premium features
β βββ ui/ # Shadcn UI components
βββ features/ # Feature-based modules
β βββ auth/ # Authentication logic
βββ hooks/ # Custom React hooks
βββ services/ # API service layer
βββ types/ # TypeScript type definitions
βββ context/ # React Context providers
βββ lib/ # Utility functions
The application uses JWT-based authentication with:
- Secure token storage
- Automatic token refresh
- Protected routes for authenticated users
- Role-based access control (Job Seeker / Recruiter)
- Responsive Design - Mobile-first approach, works on all devices
- Accessibility - WCAG compliant with Radix UI primitives
- Dark Mode Ready - Tailwind CSS theming support
- Smooth Animations - Polished user interactions
- Form Validation - Real-time validation with helpful error messages
- Loading States - Skeleton loaders and optimistic UI updates
All API calls are centralized in the services/ directory with:
- Axios interceptors for authentication
- Error handling and retry logic
- Type-safe request/response interfaces
- Environment-based configuration
| Package | Version | Purpose |
|---|---|---|
| react | 19.2.0 | UI library |
| typescript | 5.9.3 | Type safety |
| tailwindcss | 4.1.17 | Styling |
| react-router-dom | 7.9.6 | Routing |
| axios | 1.13.2 | HTTP client |
| socket.io-client | 4.8.3 | Real-time updates |
| @stripe/stripe-js | 8.6.0 | Payments |
| react-hook-form | 7.68.0 | Form management |
npm run buildThe project is optimized for deployment on:
- Vercel (Recommended)
- Netlify
- Any static hosting service
Environment variables must be configured in your hosting platform.
This is a capstone project for the NTI Full-Stack Development Program. Contributions, issues, and feature requests are welcome!
Shehab Gamal El-Deen
- GitHub: shehabgamaleldeen
- LinkedIn: Shehab Gamal El-Deen
This project is part of the NTI Open-Source Applications Developer Program.
- National Telecommunication Institute (NTI)
- Open-Source Applications Developer Program
- All team members and instructors
β If you find this project helpful, please give it a star!