A comprehensive School Management System built with Laravel 12, designed to streamline educational institution operations and enhance communication between administrators, teachers, students, and parents.
- Dashboard - Complete overview of school statistics
- Student Management - Add, edit, view student profiles
- Teacher Management - Manage teaching staff
- Class Management - Create and manage classes and sections
- Subject Management - Add subjects and assign to classes
- Fee Management - Track fee payments and generate reports
- Attendance System - Monitor student attendance
- Examination System - Create exams and manage results
- Announcement System - Send notifications to all users
- Report Generation - Various reports for analysis
- Class Timetable - View teaching schedule
- Attendance Management - Mark student attendance
- Assignment Management - Create and manage assignments
- Grade Management - Enter and update student grades
- Student Progress - Track individual student performance
- Communication - Send messages to students and parents
- Personal Dashboard - View personal information and stats
- Attendance History - Check attendance records
- Assignment Submission - Submit assignments online
- Grade Reports - View exam results and progress
- Timetable - Access class schedule
- Announcements - Receive school notifications
- Child Progress Monitoring - Track children's academic performance
- Attendance Reports - View attendance history
- Fee Payment Status - Check payment records
- Communication - Receive updates from teachers
- Assignment Tracking - Monitor homework completion
- Backend: Laravel 12 (PHP 8.3+)
- Database: MySQL
- Frontend: Blade Templates, Bootstrap, jQuery
- Authentication: Laravel Sanctum
- File Storage: Laravel Storage
- Email: SMTP Support
- Permissions: Spatie Laravel Permission
- PHP 8.3 or higher
- Composer
- MySQL 5.7+ or MariaDB
- Apache/Nginx Web Server
- Node.js & NPM (for asset compilation)
-
Clone the repository
git clone <repository-url> cd eschool-v12
-
Install PHP dependencies
composer install
-
Install JavaScript dependencies
npm install
-
Environment Configuration
cp .env.example .env
-
Edit .env file with your database credentials
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=eschool DB_USERNAME=your_username DB_PASSWORD=your_password
-
Generate application key
php artisan key:generate
-
Run database migrations
php artisan migrate
-
Seed the database (optional)
php artisan db:seed
-
Create storage symlink
php artisan storage:link
-
Start development server
php artisan serve
Use the included deployment scripts for easy production setup:
# For complete upload and replacement
./complete_upload.sh
# For backup before deployment
./backup_old_code.sh- Upload files to your web server
- Configure web server to point to
publicdirectory - Set up environment variables
- Run production commands:
composer install --optimize-autoloader --no-dev php artisan key:generate php artisan migrate --force php artisan config:cache php artisan route:cache php artisan view:cache
After seeding the database, you can use these default credentials:
- Super Admin:
- Email:
admin@admin.com - Password:
password
- Email:
The system supports multiple user roles:
- Super Admin - Full system access
- Admin - School administration
- Teacher - Teaching staff
- Student - Students
- Parent - Student guardians
Configure file upload limits in .env:
MAX_FILE_SIZE=10240
ALLOWED_IMAGE_TYPES=jpg,jpeg,png,gif
ALLOWED_VIDEO_TYPES=mp4,avi,mov,wmv
ALLOWED_DOCUMENT_TYPES=pdf,doc,docx,xls,xlsx,ppt,pptxTIMEZONE=Asia/KolkataMAIL_MAILER=smtp
MAIL_HOST=your_smtp_host
MAIL_PORT=587
MAIL_USERNAME=your_email
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tlseschool-v12/
βββ app/
β βββ Http/Controllers/ # Application controllers
β βββ Models/ # Eloquent models
β βββ Services/ # Business logic services
β βββ Helpers/ # Helper functions
βββ database/
β βββ migrations/ # Database migrations
β βββ seeders/ # Database seeders
βββ public/ # Web accessible files
βββ resources/
β βββ views/ # Blade templates
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
βββ routes/ # Application routes
- CSRF Protection
- SQL Injection Prevention
- XSS Protection
- Role-based Access Control
- Secure Password Hashing
- Session Management
The system includes RESTful APIs for mobile app integration:
- Student API endpoints
- Parent API endpoints
- Authentication APIs
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in this repository
- Contact: [support email]
- Documentation: Check the
DEPLOYMENT_GUIDE.mdfor detailed deployment instructions
- Laravel Framework
- Bootstrap CSS Framework
- Chart.js for analytics
- All contributors and the open-source community
Made with β€οΈ for Educational Institutions
This system is designed to make school management efficient and communication seamless between all stakeholders in the education process.