A modern, feature-rich job portal application built with React, connecting job seekers with recruiters through an intuitive and secure platform.
- Job Search & Discovery: Advanced search with multiple filters (location, salary, job type, company)
- Application Management: Track application status and history
- Resume Upload: Secure document storage and management
- Profile Management: Complete candidate profiles with skills and experience
- Real-time Updates: Get notified about application status changes
- Job Posting: Create and manage job listings with detailed requirements
- Application Tracking: Review and manage candidate applications
- Company Profiles: Showcase company information and culture
- Candidate Management: Filter and sort applications efficiently
- Analytics Dashboard: Track job posting performance
- Secure Authentication: User registration and login with role-based access
- Responsive Design: Mobile-first approach with modern UI components
- Real-time Data: Live updates for job postings and applications
- Search Functionality: Intelligent search with auto-suggestions
- Data Security: Comprehensive security policies and data protection
- React 18 - Modern React with hooks and functional components
- Vite - Fast build tool and development server
- ShadCN UI - Modern, accessible UI components
- Tailwind CSS - Utility-first CSS framework
- React Router DOM - Client-side routing
- React Hook Form - Form handling and validation
- Lucide React - Beautiful icons
- Supabase - Backend-as-a-Service with PostgreSQL database
- Supabase Auth - Authentication and user management
- Supabase Storage - File storage for resumes and documents
- Row Level Security - Database security policies
- Clerk - Complete authentication solution
- Role-based Access Control - Separate access for candidates and recruiters
- ESLint - Code linting and quality
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- npm or yarn package manager
- Git
-
Clone the repository
git clone https://github.com/its-bismay/Worklink.git cd Worklink -
Install dependencies
npm install
-
Environment Setup
Create a
.env.localfile in the root directory and add your environment variables:# Supabase Configuration VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key # Clerk Configuration VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
-
Database Setup
Set up your Supabase database with the following tables:
companies- Company informationjobs- Job listingsapplications- Job applicationsusers- User profiles
Configure Row Level Security (RLS) policies for data protection.
-
Start the development server
npm run dev
The application will be available at http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issues automatically
- Authentication: Secure user authentication with Clerk
- Authorization: Role-based access control (RBAC)
- Data Protection: Row Level Security policies in Supabase
- Input Validation: Client and server-side validation
- File Upload Security: Secure resume and document handling
- Modern Design: Clean, professional interface
- Responsive Layout: Works seamlessly on all devices
- Accessibility: WCAG compliant with keyboard navigation
- Dark Mode: Optional dark theme support
- Loading States: Smooth loading indicators and skeletons
- users: User profiles and authentication data
- companies: Company information and branding
- jobs: Job listings with requirements and descriptions
- applications: Application tracking and status management
- Connect your GitHub repository to Vercel
- Add environment variables in Vercel dashboard
- Deploy automatically on every push to main branch
- Build the project:
npm run build - Upload the
distfolder to your hosting service - Configure environment variables on your hosting platform
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature-name - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- React - Frontend framework
- Vite - Build tool
- Supabase - Backend platform
- Clerk - Authentication service
- ShadCN UI - UI components
- Tailwind CSS - Styling framework
For questions or support, reach out via:
- Email: bismaybibhabasu33@gmail.com
- GitHub Issues: Create an issue
- Instagram: Connect with me
Built with ❤️ by Bismay