Skip to content

danny-dis/school-management-system

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zophlic School Management System

license php laravel vue tailwind

                     _____              _     _ _
                    |__  /___  _ __ ___| |__ | (_) ___
                      / // _ \| '_ \___| '_ \| | |/ __|
                     / /| (_) | |_) |  | | | | | | (__
                    /____\___/| .__/   |_| |_|_|_|\___|
                             |_|

A comprehensive, enterprise-grade School Management System built with Laravel 10 and Vue 3

Index

Differences from Original Project

⬆️ Back to top

This enhanced version by Zophlic includes several improvements over the original project:

  1. 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
  2. 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
  3. Enhanced User Experience:

    • Improved UI/UX design
    • More intuitive navigation
    • Responsive design for all devices
    • Dark mode support
  4. Performance Optimizations:

    • Improved database queries
    • Caching mechanisms
    • Reduced load times
    • Better resource utilization
  5. Security Enhancements:

    • Advanced permission system
    • Improved data validation
    • Enhanced encryption
    • Regular security updates
  6. Comprehensive Documentation:

    • Detailed user guides
    • API documentation
    • Developer documentation
    • Video tutorials
  7. Licensing System:

    • Module-based licensing
    • Subscription management
    • License validation

Features

⬆️ Back to top

Modular Architecture

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.

Available Features

Core Features

  • 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

Student Portal Module

  • Personal Dashboard for Students
  • Attendance Records
  • Grades and Results
  • Subject Information
  • Profile Management

Parent Portal Module

  • Dashboard for Parents
  • Children's Academic Progress
  • Attendance Monitoring
  • Grade Viewing
  • Profile Management

Online Learning Module

  • Course Content Management
  • Assignment Submission
  • Online Classes
  • Learning Resources

Fee Management Module

  • Fee Type Management
  • Invoice Generation
  • Payment Tracking
  • Fee Reports

Library Module

  • Book Inventory Management
  • Book Issuing and Returns
  • Fine Management
  • Library Reports

Mobile App Integration Module

  • Student Mobile App
  • Parent Mobile App
  • Teacher Mobile App
  • Admin Mobile App

Advanced Reporting Module

  • Custom Report Builder
  • Data Visualization
  • Export to Multiple Formats
  • Scheduled Reports

Communication Module

  • Internal Messaging
  • Email Notifications
  • SMS Notifications
  • Announcement System

Timetable Module

  • Class Schedule Management
  • Teacher Schedule
  • Room Allocation
  • Conflict Detection

Transportation Module

  • Vehicle Management
  • Route Management
  • Student Transport Assignment
  • Transport Fee Integration

Health Records Module

  • Student Health Profiles
  • Medical Visit Records
  • Vaccination Records
  • Allergy Management

Installation

⬆️ Back to top

Installing dependencies

Server Requirements

  • PHP >= 8.1
  • MySQL >= 8.0 or MariaDB >= 10.3
  • Composer
  • Node.js >= 16.0
  • NPM >= 8.0

PHP Extensions

  • OpenSSL
  • PDO
  • Mbstring
  • Tokenizer
  • XML
  • Ctype
  • JSON
  • BCMath
  • Fileinfo
  • GD
  • Zip

Download and setup

# 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

Use the app

⬆️ Back to top

Module Management

⬆️ Back to top

To enable or disable modules:

  1. Login as admin
  2. Go to Module Management from the sidebar
  3. 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.

API Documentation

⬆️ Back to top

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.

Authentication

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

Available Endpoints

Students

  • GET /api/students - Get all students
  • GET /api/students/{id} - Get a specific student
  • POST /api/students - Create a new student
  • PUT /api/students/{id} - Update a student
  • DELETE /api/students/{id} - Delete a student

Teachers

  • GET /api/teachers - Get all teachers
  • GET /api/teachers/{id} - Get a specific teacher
  • POST /api/teachers - Create a new teacher
  • PUT /api/teachers/{id} - Update a teacher
  • DELETE /api/teachers/{id} - Delete a teacher

Classes

  • GET /api/classes - Get all classes
  • GET /api/classes/{id} - Get a specific class
  • POST /api/classes - Create a new class
  • PUT /api/classes/{id} - Update a class
  • DELETE /api/classes/{id} - Delete a class

For a complete list of endpoints and detailed documentation, visit the API documentation at /api/documentation after installation.

Documentation

⬆️ Back to top

Comprehensive documentation is available in the docs directory. This includes:

  • User Guide
  • Administrator Guide
  • Developer Guide
  • API Documentation

Timeline

⬆️ Back to top

See CHANGELOG.md for a detailed timeline of changes.

Screenshot

⬆️ Back to top

Dashboard

Contributing

⬆️ Back to top

Contributions are welcome! Please feel free to submit a Pull Request.

To-do

⬆️ Back to top

  • Implement more advanced reporting features
  • Add more payment gateways
  • Improve mobile app integration
  • Add more language options
  • Implement AI-based features

Contributers

⬆️ Back to top

Issues

⬆️ Back to top

If you discover any issues, please report them here.

License

⬆️ Back to top

This project is licensed under the AGPL License - see the LICENSE file for details.

About

Another School Management System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 53.0%
  • Blade 33.9%
  • JavaScript 6.6%
  • HTML 4.8%
  • Vue 1.7%