E-Track v2 adalah sistem manajemen sekolah modern yang dibangun dengan teknologi terbaru untuk mengelola data siswa, pegawai, dan sistem absensi dengan pengenalan wajah.
- Multi-Factor Authentication (MFA) dengan Email OTP
- Role-based Access Control (Admin, Teacher, Student)
- Laravel Sanctum untuk API authentication
- Password Policy dengan persyaratan keamanan tinggi
- Student Management - Kelola data siswa lengkap
- Employee Management - Kelola data pegawai
- User Roles - Sistem peran dan izin
- Profile Management - Pengelolaan profil pengguna
- Face Registration - Daftarkan wajah pegawai
- Face Attendance - Absensi dengan pengenalan wajah
- Attendance History - Riwayat absensi lengkap
- Statistics - Analitik dan laporan absensi
- Real-time Dashboard - Statistik real-time
- Interactive Charts - Visualisasi data interaktif
- Reports - Berbagai laporan sistem
- Audit Trail - Log aktivitas pengguna
- Data Export - Ekspor data ke Excel/CSV
- Backup System - Sistem backup otomatis
- Mobile Responsive - Tampilan mobile-friendly
- API-First Architecture - Arsitektur berbasis API
- Laravel 11 - PHP Framework
- MySQL 8.0 - Database
- Laravel Sanctum - API Authentication
- Laravel Excel - Data Export
- Vue.js 3 - JavaScript Framework
- Vuetify 3 - Material Design Components
- Pinia - State Management
- Vite - Build Tool
- PHP 8.2+
- Composer
- Node.js 18+
- MySQL 8.0+
- Git
git clone https://github.com/scripted42/etrack-v2.git
cd etrack-v2cd etrack-backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serve --host=0.0.0.0 --port=8000cd etrack-frontend
npm install
npm run dev# Backend (.env)
APP_URL=http://localhost:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=etrack
DB_USERNAME=root
DB_PASSWORD=
# Frontend (.env.local)
VITE_API_URL=http://localhost:8000/api- Username:
admin - Password:
password
- System Documentation - Dokumentasi lengkap sistem
- Backend Troubleshooting - Panduan troubleshooting
- Face Attendance System - Dokumentasi sistem absensi wajah
- Base URL:
http://localhost:8000/api - Authentication: Bearer Token (Laravel Sanctum)
- Content-Type:
application/json
POST /api/login - User login
GET /api/me - Get current user
GET /api/dashboard - Dashboard data
POST /api/attendance/face-recognition - Process face attendance
GET /api/attendance/face-recognition/history - Attendance history
# Check backend status
curl -X GET http://localhost:8000/api/test-auth
# Restart backend
cd etrack-backend
php artisan serve --host=0.0.0.0 --port=8000# Test login
curl -X POST http://localhost:8000/api/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"password"}'# Run migrations
php artisan migrate
# Check database connection
php artisan tinker --execute="echo 'DB Connected: ' . (DB::connection()->getPdo() ? 'YES' : 'NO');"# Test backend
curl -X GET http://localhost:8000/api/test-auth
# Test frontend
# Open http://localhost:5173 in browser# Backend tests
cd etrack-backend
php artisan test
# Frontend tests
cd etrack-frontend
npm run testusers- User accountsroles- User rolesstudents- Student dataemployees- Employee dataface_attendances- Face recognition attendancemfa_otps- MFA OTP codespersonal_access_tokens- Sanctum tokens
- Laravel Sanctum untuk API authentication
- Password Hashing dengan bcrypt
- Rate Limiting pada API endpoints
- CSRF Protection untuk web routes
- Input Validation untuk semua input
- SQL Injection Prevention
- XSS Protection
- Configure environment variables
- Run migrations:
php artisan migrate - Set up web server (Apache/Nginx)
- Configure SSL certificates
- Set up monitoring
- Enable caching:
php artisan config:cache - Optimize database queries
- Use CDN for static assets
- Implement rate limiting
- Mobile app development
- Advanced analytics dashboard
- Integration with external systems
- Performance optimizations
- AI-powered insights
- Real-time notifications
- Advanced reporting
- Multi-language support
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: System Documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Laravel Framework
- Vue.js Community
- Vuetify Team
- All contributors
E-Track v2 - Modern School Management System with Face Recognition Attendance