Jugaad
Jugaad Tool MITAdvancedEducationFree

skuul

Skuul manages multiple school campuses, student records, attendance, grades, fees, and family access.

Stars
476
Forks
175
Last update
1 Nov 2026

Overview

Skuul is a school management application covering organizations, campuses, academics, fees, and daily operations. It also supports family access, student care, boarding, facilities, and library records. The supplied branch is V3 in development; V2 is deprecated, and upgrading can delete legacy data.

Who it's for

Multi-campus school administratorsSchool academic and operations teamsBoarding school administratorsPHP and Laravel developers supporting schools

Tech stack

PHP 8.4.1 or laterLaravel 13Livewire 4Composer 2Node.js 24npmMySQL 8RedisDocker ComposeLaravel Sail

Features and benefits

Key features

  • Organization and campus management
  • Student records and family access
  • Academic calendars and timetables
  • Attendance tracking
  • Gradebooks and grading scales
  • Fees and reports
  • Student care and staff operations
  • Programme and facility management
  • Boarding and library records
  • Browser installer for administrator, organization, and first-campus setup

Why it helps in Pakistan

  • Manage multiple campuses within one school management application.
  • Keep attendance, grades, and student records together.
  • Support family access alongside school administration.
  • Cover boarding, library, and facility records as well as academics.
  • Adapt school setup through reporting periods, classes, teaching approaches, and grading scales.

Pakistan use cases

  • 01

    A Pakistani school group can manage its organizations and campuses in one application.

  • 02

    A school in Lahore can maintain student attendance, gradebooks, timetables, and fee records.

  • 03

    A boarding school in Abbottabad can maintain boarding, student care, and library records.

  • 04

    A school in Karachi can provide family access alongside its academic administration.

Requirements

Hardware
Check the official docs
Operating system
Check the official docs
Skills
Command-line dependency installationDocker Compose and Laravel Sail operationEnvironment configuration and database administrationBackup, restore, and migration planning
Accounts needed
Choose an administrator email and password in the browser installer; there is no default administrator password.

Setup guide

Commands are copied from the project's README and official docs.

  1. 1

    Choose the version and clone

    These commands use main, the V3 development branch. Use a release tag for a published release, and read the release notes first. Run git clone --branch main https://github.com/yungifez/skuul.git skuul then cd skuul. Do not treat this as a routine in-place V2 upgrade.
  2. 2

    Install dependencies

    Have PHP 8.4.1 or later, Composer 2, Node.js 24 and npm, and Docker with Compose available. The application requires MySQL 8 and Redis. Run composer install --no-interaction --prefer-dist. Sail becomes available after this install.
  3. 3

    Configure the environment

    Run cp .env.example .env. The example uses DB_DATABASE=skuul; keep testing for the test suite. Sail creates both databases on a new volume. Changing the database name on an existing volume does not create it or grant access.
  4. 4

    Start Sail and build assets

    Run vendor/bin/sail up -d, then vendor/bin/sail composer check-platform-reqs, then vendor/bin/sail npm ci, then vendor/bin/sail npm run build.
  5. 5

    Prepare the application

    Run vendor/bin/sail artisan key:generate --no-interaction, then vendor/bin/sail artisan migrate --no-interaction, then vendor/bin/sail artisan db:seed --class=WorldSeeder --no-interaction, then vendor/bin/sail artisan storage:link --no-interaction. Load demo data only in a disposable installation; never run the default database seeder against production.
  6. 6

    Complete browser installation

    Run vendor/bin/sail open. Choose your administrator email and password, organization, and first campus. The installer loads required roles and permissions and does not use a default administrator password.
  7. 7

    Configure the school

    Sign in and complete the school setup checklist: school year, reporting periods, teaching approach, classes, and grading scales.
  8. 8

    Run background work

    In separate terminals, run vendor/bin/sail artisan queue:work --tries=3 and vendor/bin/sail artisan schedule:work. Consult the deployment and operations guides before production use.

What it costs

SoftwareFree to self-host under the MIT licence.
HostingHosting costs depend on capacity for PHP, MySQL, Redis, and background workers. Hardware and RAM requirements are not stated; check the official docs and current provider prices.

FAQ

Can Skuul manage more than one campus?

Yes. It manages organizations and campuses alongside student records and school operations.

Is this branch a released V3 version?

The README says V3 is being prepared for release and main is its development branch. Use V3 guides for this branch and a release tag when installing a published release.

Can I upgrade directly from V2?

Do not run this as a routine in-place V2 update. Development migrations delete legacy academic records and remove columns without automatically converting all history. Make a full database backup and test a specific migration and recovery plan; rollback cannot restore deleted data.

What is the default administrator password?

There is none. You choose the administrator email and password in the browser installer.

Can I try Skuul before installing it?

Yes. The README links to a live demo at https://demo.skuul.org/. Load demo data only in a disposable installation, not a production database.

Troubleshooting

PHP version or extension requirements are not met.

Use PHP 8.4.1 or later and the committed dependency locks. Run composer check-platform-reqs in the target runtime, or vendor/bin/sail composer check-platform-reqs with Sail.

The database is missing after changing DB_DATABASE.

Changing the name on an existing volume does not create a database or grant access. The example uses skuul, and Sail creates skuul and testing on a new volume. Check database provisioning and permissions; see the official docs.

Tests refuse cached application configuration.

Run vendor/bin/sail artisan config:clear in the local development checkout. Keep application data separate from the testing database, use .env.testing for Artisan commands with --env=testing, and do not bypass the test lock.

Background work is not running.

Start vendor/bin/sail artisan queue:work --tries=3 and vendor/bin/sail artisan schedule:work in separate terminals for local development. See the official deployment and operations docs for production operation.

Get it set up for you

Don't want to install it yourself? A Jugaad maker can set up skuul for your business. Payment is held in Safe Deal until it works.

No maker offers a setup gig for this yet. Post a request and makers will quote.

Post a setup request Paid through Safe Deal

Built by yungifez and contributors on GitHub. All credit goes to the authors. GitHub stats refresh daily. Jugaad does not host, copy or sell this code.

Is this your project?