A comprehensive Laravel-based school management system for tracking students, teachers, courses, grades, and attendance.
ClassTrack is a modern web application built with Laravel and Filament that provides a complete solution for educational institutions to manage:
- Students - Student profiles, enrollment, and academic records
- Teachers - Faculty management and course assignments
- Courses - Course creation, student enrollment, and capacity management
- Grades - Academic performance tracking
- Attendance - Student attendance records
- User Roles - Role-based access control (Admin, Teacher, Student)
- Manage students, teachers, and courses
- Track attendance and grades
- User role and permission management
- Export data to Excel
- Dashboard with statistics and charts
- Manage assigned courses
- Record student attendance
- Enter and update grades
- View student performance
- Course-specific analytics
- View enrolled courses
- Check attendance records
- Access grades and academic progress
- Personal dashboard
- Backend: Laravel 12.x
- Frontend: Filament 3.x (Admin Panel UI)
- Database: MySQL/PostgreSQL/SQLite
- Authentication: Laravel Sanctum
- Authorization: Spatie Laravel Permission
- Excel Export: Maatwebsite Excel
- Development Tools: Laravel Sail, Vite, Tailwind CSS
- PHP 8.2+
- Composer
- Node.js (for frontend assets)
- MySQL, PostgreSQL, or SQLite
- Laravel 12.x compatible environment
git clone https://github.com/your-repository/class-track-laravel.git
cd class-track-laravelcomposer install
npm installCopy the example environment file and configure your database:
cp .env.example .env
php artisan key:generateEdit the .env file with your database credentials:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=class_track
DB_USERNAME=root
DB_PASSWORD=
php artisan migrate --seednpm run dev
# or for production
npm run buildphp artisan serveThe application will be available at http://localhost:8000
- Admin Panel:
/admin - Teacher Portal:
/teacher - Student Portal:
/student
After running the seeder, you can use these default credentials:
- Admin: admin@example.com / password
- Teacher: teacher@example.com / password
- Student: student@example.com / password
The system includes three main user roles:
- Admin - Full access to all features and management tools
- Teacher - Access to course management, grading, and attendance
- Student - Access to personal academic records and course information
app/
βββ Filament/ # Filament admin and portal configurations
β βββ Admin/ # Admin panel resources
β βββ Teacher/ # Teacher portal resources
β βββ Student/ # Student portal resources
βββ Models/ # Eloquent models
β βββ Student.php
β βββ Teacher.php
β βββ Course.php
β βββ Grade.php
β βββ Attendance.php
βββ Http/ # Controllers and middleware
βββ Exports/ # Excel export classes
- Role-based access control
- Password hashing
- CSRF protection
- Secure authentication with Laravel Sanctum
- Input validation and sanitization
- users - User accounts with authentication
- students - Student profiles
- teachers - Teacher profiles
- courses - Course information
- grades - Student grades
- attendances - Attendance records
- course_student - Many-to-many relationship between courses and students
php artisan testcomposer pint# Create migration
php artisan make:migration create_table_name
# Run migrations
php artisan migrate
# Rollback migrations
php artisan migrate:rollbackThe application uses Tailwind CSS for styling. You can customize the theme by editing:
tailwind.config.jsresources/css/app.css
Customize the Filament admin panel by modifying files in:
app/Filament/Admin/Resources/app/Filament/Teacher/Resources/app/Filament/Student/Resources/
- Core student/teacher/course management
- Attendance tracking system
- Grade management
- Role-based access control
- Excel export functionality
- Parent portal integration
- Mobile application
- API for third-party integrations
- Advanced reporting and analytics
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'feat: your feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
This project is open-sourced software licensed under the MIT license.
For issues, questions, or feature requests, please open an issue on GitHub.
Β© 2025 ClassTrack - Modern School Management System