Skip to content

MohammedBelmekki01/school-management-system

Repository files navigation

School Management System

license php laravel

A comprehensive School Management System built with Laravel and PHP 7. This project helps educational institutions manage their daily operations including student admissions, attendance, exams, results, employee management, and much more.

📋 Index

✨ Features

Academic Management

  • Academic Year Management: Setup and manage academic years
  • Academic Calendar: Configure and view academic calendars
  • Institute Setup: Configure institute/school details
  • Class & Section Management: Organize classes and sections
  • Subject & Teacher Management: Assign subjects and teachers

Student Management

  • Student Admission: Handle new student registrations
  • Student Attendance: Track daily attendance
  • Student Promotion: Promote students to next classes
  • Exam & Grading: Configure exam rules and grading systems
  • Marks & Results: Record and manage student marks and results

Staff Management

  • Employee Management: Maintain employee records
  • Employee Attendance: Track staff attendance
  • Employee Leave Management: Handle leave requests and approvals

System Features

  • User & Role Management: ACL with permission grid
  • User-wise Dashboard: Customized dashboards based on roles
  • Report Settings: Configure various reports
  • Dynamic Front Website: Public-facing website with CMS
  • Photo Gallery: Manage and display photos
  • Event Management: Create and manage school events
  • Google Analytics Integration: Track website analytics
  • User Notifications: System-wide notification system

🚀 Installation

Prerequisites

  • PHP >= 7.2
  • MySQL >= 5.6 or MariaDB >= 10.1
  • Composer
  • Node.js & npm
  • Required PHP Extensions:
    • OpenSSL
    • PDO
    • Mbstring
    • Tokenizer
    • XML
    • Ctype
    • JSON

Setup Instructions

  1. Clone the repository

    git clone https://github.com/mohammedbelmekki01/school-management-system.git
    cd school-management-system
  2. Install PHP dependencies

    composer install
  3. Configure environment

    cp .env.example .env

    Edit .env file and configure your database settings:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=school_db
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
    
  4. Setup the application

    Option 1: Quick setup with demo data

    php artisan fresh-install --with-data

    Option 2: Setup without demo data

    php artisan fresh-install

    Option 3: Manual setup

    php artisan storage:link
    php artisan key:generate --ansi
    php artisan migrate
    php artisan db:seed
    
    # Optional: Load demo data
    php artisan db:seed --class DemoSiteDataSeeder
    php artisan db:seed --class DemoAppDataSeeder
  5. Install and compile frontend assets

    npm install
    npm run backend-prod
    npm run frontend-prod

Running the Application

Start the development server:

php artisan serve

The application will be available at:

Default Credentials

Username Password
superadmin super99
admin demo123

💡 Usage

After logging in, you can:

  1. Configure Institute Settings: Set up your school/institute details
  2. Create Academic Year: Define the current academic year
  3. Add Classes & Sections: Create class structures
  4. Register Students: Add new student admissions
  5. Manage Attendance: Track daily attendance for students and staff
  6. Conduct Exams: Set up exams and record marks
  7. Generate Reports: Access various academic and administrative reports

📸 Screenshots

Dashboard

More screenshots available in the screenshot/ce/ directory.

  1. Open a Pull Request

📄 License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Why AGPL? Read Here

🙏 Credits

special thanks to me with some edits to this project to make it cool mohammed belmekki

📞 Contact

Mohammed Belmekki - @mohammedbelmekki01

Project Link: https://github.com/mohammedbelmekki01/school-management-system


Note: This is a fork and modification of the original CloudSchool project. All credit for the original work goes to the original authors and contributors.

About

A comprehensive School Management System built with Laravel - Managing admissions, attendance, exams, and more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors