Skip to content

Spacelab is an academic schedule and space management application designed to help schools, colleges, and educational institutions efficiently manage class scheduling, room usage, and schedule conflicts.

Notifications You must be signed in to change notification settings

habibiahmada/spacelab

Repository files navigation

Spacelab Banner

🚀 Spacelab

Smart Academic Space & Schedule Management System
Efficiently manage rooms, classes, and schedules with automatic conflict detection.

Laravel PHP PostgreSQL

Spacelab is a web-based academic schedule and room management application that helps educational institutions (schools, campuses, and training centers) with:

  • Managing class schedules and teachers
  • Preventing room booking conflicts
  • Monitoring room utilization efficiently
  • Providing reports and analytics for academic activities

Spacelab is built using Laravel Breeze (Blade) and focuses on automation, accuracy, and a simple, fast user interface.


🏗️ Technology Stack

Layer Technology

Frontend Laravel Breeze (Blade), Tailwind CSS, Alpine.js Backend Laravel 11 (PHP 8.3) Database PostgreSQL Cache / Queue Redis Deployment Fly.io / Caddy Testing PHPUnit

Tech Stack Preview

---

⚙️ Key Features

✅ Automatic Schedule Management Manage class, teacher, and room schedules in a single system with automatic conflict detection.

🏫 Room & Building Management Monitor room availability in real-time based on schedules and capacities.

👩‍🏫 Academic Data Management CRUD operations for teachers, students, subjects, and academic years.

📊 Reports & Analytics Visualize room usage, learning activities, and utilization metrics.

🔐 Multi-Role Authentication Roles: Admin, Teacher, Student, and Administrative Staff — each with specific access rights.

📥 Import / Export Data Support for CSV/XLSX import and exporting reports to Excel/PDF.


🧩 Directory Structure

spacelab/
├── app/
│   ├── Http/
│   ├── Models/
│   └── Policies/
├── database/
│   ├── migrations/
│   └── seeders/
├── resources/
│   ├── views/
│   ├── css/
│   └── js/
├── routes/
│   └── web.php
└── tests/

📸 UI Mockup

Dashboard Mockup


🚦 Installation Guide

1️⃣ Clone the Repository

git clone https://github.com/habibiahmada/spacelab.git

cd spacelab

2️⃣ Install Dependencies

composer install

npm install && npm run build

3️⃣ Configure Environment

Create the .env file from the example:

cp .env.example .env
php artisan key:generate

Then update the database connection settings (PostgreSQL):

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=spacelab
DB_USERNAME=postgres
DB_PASSWORD=yourpassword

4️⃣ Run Migrations & Seeders

php artisan migrate --seed

5️⃣ Run the Local Server

php artisan serve

Open in browser:
👉 http://localhost:8000

🧠 Core System Concepts

🧩 Conflict Detection Logic

  • The system automatically prevents schedule conflicts using logic that:

  • Checks for overlapping time ranges

  • Validates teacher, room, and class availability

  • Displays warnings when conflicts are detected

📅 Schedule Data Structure (PostgreSQL)

CREATE TABLE schedule_entries (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  room_id uuid REFERENCES rooms(id),
  teacher_id uuid REFERENCES teachers(id),
  class_id uuid REFERENCES classes(id),
  subject_id uuid REFERENCES subjects(id),
  start_at timestamptz NOT NULL,
  end_at timestamptz NOT NULL,
  status varchar(32) DEFAULT 'confirmed'
);

🧩 Roadmap & Future Enhancements

  • Dynamic academic calendar by semester

  • Attendance module tied to schedule

  • Interactive dashboard with charts

  • PDF report export with modern design


👨‍💻 Developer

Spacelab is independently developed by Habib Ahmad Aziz (habibiahmada) contributors badge


Made with ❤️ using Laravel 11 & Breeze (Blade)

Github Octocat
thanks for visiting ; )

About

Spacelab is an academic schedule and space management application designed to help schools, colleges, and educational institutions efficiently manage class scheduling, room usage, and schedule conflicts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published