_____ _ _ _
|__ /___ _ __ ___| |__ | (_) ___
/ // _ \| '_ \___| '_ \| | |/ __|
/ /| (_) | |_) | | | | | | | (__
/____\___/| .__/ |_| |_|_|_|\___|
|_|
A comprehensive, enterprise-grade School Management System built with Laravel 10 and Vue 3
- Features
- Installation
- Module Management
- Documentation
- Changelog/Timeline
- Screenshot
- Contributing
- Issues
- License
This enhanced version by Zophlic includes several improvements over the original project:
-
Modern Architecture: We've modernized the codebase with:
- RESTful API backend with Laravel 10
- Single Page Application (SPA) frontend with Vue 3
- Repository pattern for data access
- Service layer for business logic
- Form request validation
- API resources for consistent responses
- JWT authentication
-
Additional Modules: We've added several enterprise-grade modules including:
- Online Learning
- Fee Management
- Library Management
- Mobile App Integration
- Advanced Reporting
- Communication System
- Timetable Management
- Transportation Management
- Health Records Management
-
Enhanced User Experience:
- Improved UI/UX design
- More intuitive navigation
- Responsive design for all devices
- Dark mode support
-
Performance Optimizations:
- Improved database queries
- Caching mechanisms
- Reduced load times
- Better resource utilization
-
Security Enhancements:
- Advanced permission system
- Improved data validation
- Enhanced encryption
- Regular security updates
-
Comprehensive Documentation:
- Detailed user guides
- API documentation
- Developer documentation
- Video tutorials
-
Licensing System:
- Module-based licensing
- Subscription management
- License validation
The system features a modular architecture that allows you to enable or disable specific features based on your needs. Each module provides a set of related features that can be managed independently through the Module Management interface.
- Academic Year Management
- Academic Calendar Setup
- Institute Setup
- Class & Section Management
- Subject & Teacher Management
- Student Admission
- Student Attendance
- Exam & Grading Rules
- Marks & Result Management
- Student Promotion
- Employees Management
- Employees Attendance
- Employees Leave
- User & Role Management with Permission Grid (ACL)
- User-wise Dashboard
- Report Settings
- Reports
- Personal Dashboard for Students
- Attendance Records
- Grades and Results
- Subject Information
- Profile Management
- Dashboard for Parents
- Children's Academic Progress
- Attendance Monitoring
- Grade Viewing
- Profile Management
- Course Content Management
- Assignment Submission
- Online Classes
- Learning Resources
- Fee Type Management
- Invoice Generation
- Payment Tracking
- Fee Reports
- Book Inventory Management
- Book Issuing and Returns
- Fine Management
- Library Reports
- Student Mobile App
- Parent Mobile App
- Teacher Mobile App
- Admin Mobile App
- Custom Report Builder
- Data Visualization
- Export to Multiple Formats
- Scheduled Reports
- Internal Messaging
- Email Notifications
- SMS Notifications
- Announcement System
- Class Schedule Management
- Teacher Schedule
- Room Allocation
- Conflict Detection
- Vehicle Management
- Route Management
- Student Transport Assignment
- Transport Fee Integration
- Student Health Profiles
- Medical Visit Records
- Vaccination Records
- Allergy Management
- PHP >= 8.1
- MySQL >= 8.0 or MariaDB >= 10.3
- Composer
- Node.js >= 16.0
- NPM >= 8.0
- OpenSSL
- PDO
- Mbstring
- Tokenizer
- XML
- Ctype
- JSON
- BCMath
- Fileinfo
- GD
- Zip
# Clone the repository
git clone https://github.com/zophlic/school-management-system.git
# Change directory
cd school-management-system
# Install PHP dependencies
composer install
# Install JavaScript dependencies
npm install
# Build assets
npm run build
# Create a copy of the .env file
cp .env.example .env
# Generate application key
php artisan key:generate
# Configure your database in .env file
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=your_database_name
# DB_USERNAME=your_database_username
# DB_PASSWORD=your_database_password
# Run database migrations and seed the database
php artisan migrate --seed
# Create symbolic link for storage
php artisan storage:link
# Start the development server
php artisan serve-
Website: http://localhost:8000
-
App login: http://localhost:8000/login
Username Password admin admin123
To enable or disable modules:
- Login as admin
- Go to Module Management from the sidebar
- Enable or disable modules as needed
Note: Some modules have dependencies on other modules. You cannot enable a module if its dependencies are not enabled, and you cannot disable a module if other enabled modules depend on it.
The system provides a comprehensive RESTful API for integration with other systems or for building custom frontends. The API is built using Laravel's API resources and follows RESTful conventions.
The API uses JWT (JSON Web Tokens) for authentication. To authenticate, send a POST request to /api/login with your credentials:
{
"username": "your_username",
"password": "your_password"
}The response will include a token that should be included in the Authorization header of subsequent requests:
Authorization: Bearer your_token_here
GET /api/students- Get all studentsGET /api/students/{id}- Get a specific studentPOST /api/students- Create a new studentPUT /api/students/{id}- Update a studentDELETE /api/students/{id}- Delete a student
GET /api/teachers- Get all teachersGET /api/teachers/{id}- Get a specific teacherPOST /api/teachers- Create a new teacherPUT /api/teachers/{id}- Update a teacherDELETE /api/teachers/{id}- Delete a teacher
GET /api/classes- Get all classesGET /api/classes/{id}- Get a specific classPOST /api/classes- Create a new classPUT /api/classes/{id}- Update a classDELETE /api/classes/{id}- Delete a class
For a complete list of endpoints and detailed documentation, visit the API documentation at /api/documentation after installation.
Comprehensive documentation is available in the docs directory. This includes:
- User Guide
- Administrator Guide
- Developer Guide
- API Documentation
See CHANGELOG.md for a detailed timeline of changes.
Contributions are welcome! Please feel free to submit a Pull Request.
- Implement more advanced reporting features
- Add more payment gateways
- Improve mobile app integration
- Add more language options
- Implement AI-based features
If you discover any issues, please report them here.
This project is licensed under the AGPL License - see the LICENSE file for details.
