A modern, full-featured job board application built with Laravel and Filament Admin Panel. HireFlow connects job seekers with employers through an intuitive platform with advanced search, filtering, and application management.
- Advanced Job Search - Search by keywords, job type, experience level, and location
- Salary Information - View salary ranges and compensation details
- Application Tracking - Apply directly to jobs with deadline tracking
- Job Filtering - Filter by multiple criteria including date posted
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Job Posting - Create detailed job listings with rich descriptions
- Application Management - Track and manage job applications
- Company Profiles - Showcase your company with logos and details
- Deadline Management - Set application deadlines with automatic status updates
- Filament Admin Panel - Powerful admin interface for managing the platform
- Analytics Dashboard - View job statistics, user activity, and salary distributions
- User Management - Manage users, listings, and platform settings
- Real-time Charts - Visualize data with interactive charts and graphs
- Backend: Laravel 11 (PHP 8.2+)
- Frontend: Blade Templates with Tailwind CSS
- Admin Panel: Filament 3
- Database: PostgreSQL/MySQL
- Authentication: Laravel Breeze
- Icons: Font Awesome
- Charts: Chart.js via Filament
- PHP 8.2 or higher
- Composer
- Node.js & NPM
- PostgreSQL or MySQL
- Web server (Apache/Nginx)
-
Clone the repository
git clone <repository-url> cd codehustle
-
Install PHP dependencies
composer install
-
Install Node.js dependencies
npm install
-
Environment setup
cp .env.example .env php artisan key:generate
-
Configure database
# Update .env with your database credentials DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=hireflow DB_USERNAME=your_username DB_PASSWORD=your_password -
Run migrations and seeders
php artisan migrate php artisan db:seed
-
Create storage link
php artisan storage:link
-
Build assets
npm run build
-
Start the development server
php artisan serve
- Visit the homepage to browse all available jobs
- Use the search filters to find specific positions
- Click on job titles to view detailed descriptions
- Apply for jobs using the "Apply Now" button
- Track application deadlines and status
- Register an account or log in
- Click "Post a Job" to create new listings
- Fill in job details including salary, requirements, and deadline
- Manage your posted jobs from the dashboard
- Review and respond to applications
- Access the admin panel at
/admin - View analytics and platform statistics
- Manage users, listings, and system settings
- Monitor platform activity and performance
users- User accounts and authenticationlistings- Job postings with detailed informationpassword_resets- Password reset functionalityfailed_jobs- Queue job managementpersonal_access_tokens- API authentication
- Basic info: title, company, location, description
- Job details: job_type, experience_level, salary_min/max
- Application: application_deadline, contact information
- Metadata: tags, logo, user_id, timestamps
- Modify Tailwind CSS classes in Blade templates
- Update color scheme in
tailwind.config.js - Customize Filament theme in
config/filament.php
- Add new job types in the migration and factory files
- Extend search functionality in
ListingController - Create additional admin widgets in
app/Filament/Widgets/
php artisan test# Install Laravel Pint for code styling
composer require laravel/pint --dev
./vendor/bin/pint# Seed with sample data
php artisan db:seed --class=LaragigsSeederThe admin dashboard includes:
- Stats Overview - Total jobs, users, and applications
- Latest Listings - Recent job postings
- Job Type Chart - Distribution of job types
- User Activity Chart - User engagement over time
- Salary Distribution Chart - Salary range analysis
- CSRF protection on all forms
- Input validation and sanitization
- Authentication middleware
- Secure file uploads
- SQL injection prevention via Eloquent ORM
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open-sourced software licensed under the MIT license.
For support and questions:
- Create an issue in the repository
- Check the Laravel documentation
- Review Filament documentation for admin panel questions
Built with ❤️ using Laravel and Filament