A robust Laravel-based enterprise application for managing employee attendance, shift scheduling, and workforce management. Features include real-time attendance tracking, dynamic scheduling, comprehensive reporting (PDF/Excel), and advanced security logging.
- 👥 User Management: Role-based access control (Admin, Coordinator, User)
- 📊 Dashboard & Analytics: Real-time attendance stats and schedule overview
- 📅 Dynamic Scheduling: Flexible shift management and calendar integration
- 📲 Attendance System: Track attendance with status monitoring
- 📑 Export & Reports: Generate PDF/Excel reports for attendance & schedules
- 🔒 Enterprise Security:
- Session management & suspicious IP blocking
- Activity logging & audit trails
- Login attempt monitoring
- Password policies & OTP support
- PHP 8.2+
- Laravel 12
- MySQL/PostgreSQL
- Redis (queue/cache/session) [Optional]
- TailwindCSS
- Vite (build system)
- Chart.js (analytics)
- FullCalendar (scheduling)
- Lucide icons
- Maatwebsite Excel (spreadsheet exports)
- DomPDF (PDF generation)
- Laravel Queue (background jobs)
- PHP 8.2+
- Composer
- Node.js (v16+) and npm
- A web server (Laragon, Valet, Sail, or built-in PHP server)
- Clone the repo and enter folder:
git clone <repo-url> lintasarta
cd lintasarta- Install PHP dependencies:
composer install- Copy
.envand configure database and other env vars:
cp .env.example .env
# edit .env (DB_CONNECTION, DB_DATABASE, APP_URL, MAIL settings)- Generate app key and run migrations (and seeders if needed):
php artisan key:generate
php artisan migrate --seed- Install Node dependencies and start Vite in dev mode:
npm install
npm run dev- Start local server:
php artisan serve --host=127.0.0.1 --port=8000
# open http://127.0.0.1:8000composer run-script dev— start server + queue + vite concurrently (projectcomposer.jsondefines this)npm run dev— start Vitenpm run build— build assets for productioncomposer test/php artisan test— run tests
- You can use SQLite for quick local development (project scaffolding supports it). Otherwise configure MySQL/Postgres in
.env.
- Follow PSR-12 coding standards
- Use Laravel best practices and design patterns
- Document complex business logic and important methods
- Write tests for critical features
-
Models & Database
- Use migrations for schema changes
- Document model relationships
- Follow Laravel's Eloquent conventions
- Use factories & seeders for testing
-
Controllers & Routes
- Keep controllers focused (single responsibility)
- Use form requests for validation
- Implement proper error handling
- Document API endpoints
-
Views & Frontend
- Follow component-based structure
- Use Blade components for reusability
- Keep JavaScript modular
- Optimize assets for production
- Run
php artisan testbefore commits - Write feature tests for critical paths
- Use factories for test data
- Mock external services
- Follow OWASP security guidelines
- Implement rate limiting
- Validate all inputs
- Use proper authentication middleware
- Keep dependencies updated
For production deployment instructions and environment-specific configurations, see DEPLOYMENT.md.
- If assets don't load, ensure
npm run devis running or usenpm run build - Ensure
storageandbootstrap/cacheare writable - Check logs in
storage/logsfor errors - For queue issues, verify Redis connection and worker status
For issues and feature requests, please use the GitHub issue tracker.
This project is proprietary software. All rights reserved.