Overview The School Dashboard is a comprehensive desktop application built with Python 3 and PyQt6, designed to provide real-time school information in an organized and visually appealing manner. This tool is perfect for school administrations, teachers, and students to access daily information quickly, including meals, birthdays, duty schedules, lesson countdowns, and special events.
Key Features
Dynamic Photo Slideshow
Displays a rotating slideshow of school photos.
Automatically scales images and supports .jpg, .jpeg, and .png formats.
Configurable time intervals between slides.
Meal Menu Display
Loads daily meals from JSON or Excel-imported data.
Supports list or dictionary-based JSON formats.
Includes a friendly "Afiyet olsun!" message for students.
Birthdays
Shows a list of students who have birthdays today.
Displays student names and classes.
Duty Teacher Schedule
Displays the list of teachers on duty for the current day.
Data is dynamically loaded from JSON, supporting multiple locations.
Important Days & Weeks
Highlights national or school-specific important days and weeks.
Styled with HTML-rich text for clear visual emphasis.
Countdown to Key Events (YKS Timer)
Real-time countdown to YKS exam or other important dates.
Automatically adjusts for next year if the event has passed.
Lesson & Break Timer
Tracks current lessons and breaks with remaining minutes.
Customizable lesson and break schedules.
Customizable Branding
Displays school logo and branding in the header.
Header includes school name and developer attribution.
Modern, Clean UI
Responsive layout with top header, left slideshow/menu panel, and right info panel.
Rounded frames, gradient headers, and color-coded sections for easy readability.
Technology Stack
Python 3 – core application logic
PyQt6 – GUI and layouts
JSON – data storage for meals, birthdays, duty schedules, and events
Datetime – for real-time updates and countdown timers
Directory Structure (suggested)
SchoolDashboard/ ├─ main.py # Main application ├─ veritabani/ # JSON data files │ ├─ yemek.json │ ├─ dogumgunu.json │ ├─ nobetci.json │ └─ onemligun.json ├─ photos/ # Slideshow images ├─ logo.png # School logo └─ README.md # Project description
Usage
Clone the repository:
git clone <repo_url>
Ensure Python 3 and PyQt6 are installed:
pip install PyQt6
Run the application:
python main.py
Place school images in the photos/ folder and update JSON data as needed.
Ideal For
School administrations looking for a daily info dashboard
Student projects or educational applications
Python developers learning PyQt6 GUI development