This is a comprehensive Applicant Tracking System (ATS) built with the Laravel framework. The system is designed to streamline the recruitment process by managing job applications, candidate information, interviews, and hiring workflows.
- User Management: Role-based access control with Spatie Laravel Permission
- Application Tracking: Complete applicant lifecycle management
- Job Posting: Create and manage job openings
- Resume Management: Upload and manage candidate documents
- Interview Scheduling: Schedule and track interview sessions
- Activity Logging: Track all system activities with Spatie Activity Log
- PDF Generation: Generate reports and documents with DOMPDF
- Excel Export: Import/export data with Maatwebsite Excel
- QR Code Generation: Generate QR codes for applications
- SMS Notifications: Send SMS notifications to candidates
- Avatar Generation: Automatic avatar generation for users
- reCAPTCHA: Bot protection for forms
- Toastr Notifications: User-friendly notification system
- PHP: ^8.1
- Composer: Latest version
- Node.js: Latest LTS version
- NPM: Latest version
- Database: MySQL 5.7+ or MariaDB 10.3+
- Web Server: Apache, Nginx, or Laravel Valet
git clone <repository-url>
cd applicant_tracking_systemInstall PHP dependencies:
composer installInstall Node.js dependencies:
npm installCopy the environment file:
cp .env.example .envGenerate application key:
php artisan key:generateConfigure your database credentials in the .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=applicant_tracking_system
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_passwordRun migrations and seeders:
php artisan migrate
php artisan db:seedConfigure mail settings for notifications:
MAIL_MAILER=smtp
MAIL_HOST=your_mail_host
MAIL_PORT=587
MAIL_USERNAME=your_mail_username
MAIL_PASSWORD=your_mail_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="your-email@example.com"
MAIL_FROM_NAME="${APP_NAME}"Configure reCAPTCHA (optional):
RECAPTCHA_SITE_KEY=your_site_key
RECAPTCHA_SECRET_KEY=your_secret_keyCompile frontend assets:
npm run buildphp artisan serveVisit http://localhost:8000 in your browser.
applicant_tracking_system/
├── app/ # Application core files
├── bootstrap/ # Bootstrap files
├── config/ # Configuration files
├── database/ # Database migrations and seeders
├── public/ # Public assets and entry point
├── resources/ # Views, CSS, and JavaScript files
├── routes/ # Application routes
├── storage/ # Application storage
├── tests/ # Test files
└── vendor/ # Composer dependencies
- Laravel Framework: Core PHP framework
- Spatie Laravel Permission: Role-based permissions
- Spatie Laravel Activity Log: Activity logging
- Barryvdh DOMPDF: PDF generation
- Maatwebsite Excel: Excel import/export
- Laravolt Avatar: Avatar generation
- Simple QrCode: QR code generation
- Biscolab Laravel reCAPTCHA: reCAPTCHA integration
- Yoeunes Toastr: Notification system
- Access the admin panel at
/admin - Login with default credentials (check seeder files)
- Manage users, job postings, and applications
- Candidates can view job openings
- Submit applications with resumes
- Track application status
- Schedule interviews
- Receive notifications
Run the test suite:
php artisan test- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
If you discover any security related issues, please email security@example.com instead of using the issue tracker.
This project is open-sourced software licensed under the MIT license.
For support and questions, please open an issue in the GitHub repository.