Skip to main content

A comprehensive classroom booking system with Tkinter GUI

Project description

SLOTRR - Classroom Booking System

A comprehensive classroom booking system built with Python and Tkinter, featuring a beautiful GUI and Supabase backend.

Features

  • Role-based Access: Admin, Teacher, and Student roles
  • Beautiful Tkinter UI: Custom-styled interface with dark/light themes
  • Real-time Booking: Check availability and book classrooms instantly
  • Email Notifications: Automatic emails to students and admins
  • Campus Map: Visual representation of classroom availability
  • Reports & Analytics: Booking statistics and reports
  • Session Management: Persistent login sessions

Installation

pip install slotrr

Setup

  1. Create a Supabase project and get your URL and anon key
  2. Set up environment variables:
    export SUPABASE_URL="your_supabase_url"
    export SUPABASE_ANON_KEY="your_anon_key"
    export SMTP_USERNAME="your_email@gmail.com"
    export SMTP_PASSWORD="your_app_password"
    
  3. Run the database migrations (create tables as per the schema in the code)
  4. Launch the app:
    slotrr
    

Database Schema

The app uses Supabase with the following tables:

  • users: User accounts with roles
  • classrooms: Room information
  • bookings: Booking records
  • booking_students: Many-to-many relationship for students in bookings

Usage

  • Admin: Manage rooms, users, bookings, view reports
  • Teacher: Book classrooms and view own bookings
  • Student: Receive email notifications (no login required)

Development

Clone the repo and install dependencies:

git clone <repo-url>
cd slotrr
pip install -r requirements.txt
python -m slotrr.main

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slotrr-1.0.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slotrr-1.0.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file slotrr-1.0.0.tar.gz.

File metadata

  • Download URL: slotrr-1.0.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for slotrr-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5907db85ac1aa148decdf2b8f24dc183fc0d354c2175b07f521c729c3df38946
MD5 b0ba17c5a85b5d6d5cb4c4f18c7fe9b7
BLAKE2b-256 05f53547fc965cc2f54e6a0a981676bdba2f81a03cd4fd5d2428d4fba391edd3

See more details on using hashes here.

File details

Details for the file slotrr-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: slotrr-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for slotrr-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 318d83cbe176b76a563cf7c3089b74af7fd63d2e7685e7b8c3a95b775fdaedc8
MD5 6698ca749fcf73503cf88eb59700382a
BLAKE2b-256 0e63f7f836249cc32c602c72025e0e76717e282245219dbe4a5c149655621900

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page