Year 4 Academic Project

Smart Scheduler &
Reminder System

CJ Developed by Changyu Jia · IrisJia0201@outlook.com

A full-featured scheduling and notification platform for universities — managing lectures, meetings, personal events, and automated reminders for students, faculty, and admins.

Explore Features View Demo GitHub
3
User Roles
6+
Core Modules
4
Celery Tasks
REST
API Ready
📅 Smart schedule
Dashboard
Register
Lectures
Meetings
Reports
Units | This Semester
4
Lectures | Today
3
Scheduled Lectures
UnitDateVenue
CS30121 AprHall B2
CS20421 AprLab 3
CS41022 AprPending

Solving scheduling chaos in academia

Academic institutions face constant scheduling conflicts — overlapping lecture halls, missed meetings, forgotten deadlines, and fragmented communication between students and faculty.

Smart Schedule unifies the entire workflow into one platform: timetable management, personal event tracking, meeting negotiation, automated reminders, and attendance reporting — all driven by role-aware dashboards.

Django 4.2 Celery + Redis Bootstrap 5 FullCalendar REST API GPLv3

Everything you need, in one place

Six tightly integrated modules covering the full lifecycle of academic scheduling.

Lecture Management

Schedule lectures with recurrence patterns. Automatic venue conflict detection prevents double-booking of halls. Status auto-updates based on date.

Conflict Detection Recurrence Auto Status

Personal Event Tracker

Students and faculty create personal to-do events with priority levels and reminder support. Overlapping events are automatically blocked.

Priority Levels Sign-in Reminders

Meeting Request System

Students request meetings with lecturers. Lecturers can approve, reject, or propose a new time. Full status lifecycle with sign-in capability.

Approval Workflow Negotiation Remarks

Smart Reminders

Per-user configurable notification preferences: timing (60 / 30 / 15 min / instant) and delivery channel (In-App, Email, or Both). Powered by Celery Beat.

Celery Beat Email In-App Toast

Attendance & Reports

Students view personal attendance reports. Faculty see class-level data. Admins get a birds-eye view with today's lecture overview and all student records.

Personal Report Admin Dashboard Conflict Alerts

Hall & Venue Management

Manage all lecture halls with capacity, floor, and location data. Students rate halls after sessions, fuelling a feedback-driven rating system.

Ratings Capacity Feedback

Real pages from the application

Faithful reproductions of the actual project screens across all three user roles.

127.0.0.1:8000/campus/u/homepage/
Units | This Semester
4
Lectures | Today
3
Modified Meeting Requests
LecturerTitleProposed Time Proposed LocationActions
Dr. Ahmed Project Discussion Wed 23 Apr 2026 14:00 – 15:00 Office 204 Accept   Reject
No other modified requests.
Scheduled lectures
#LecturerUnitDateTimeVenue
1 Dr. Smith Algorithms & Data Structures Mon 21 Apr 2026 09:00 – 10:30 HRS Hall B2
2 Prof. Lee Database Systems Mon 21 Apr 2026 11:00 – 12:30 HRS Lab 3
3 Dr. Ahmed Software Engineering Tue 22 Apr 2026 14:00 – 15:30 HRS Click me
127.0.0.1:8000/campus/u/notifications/all/

Notifications

Home / Notifications
All Notifications 3
New Lecture Reminder — CS204 Database Systems starts in 30 minutes (Lab 3, Floor 1)
2 minutes ago
2 mins ago
New Meeting Request Approved — Dr. Ahmed approved your meeting for Wed 23 Apr at 14:00
1 hour ago
1 hr ago
New Personal Event Reminder — Assignment Submission is due in 15 minutes
3 hours ago
3 hrs ago
New Lecture Scheduled — Dr. Ahmed added CS410 on Fri 25 Apr at 10:00
Yesterday
Yesterday
127.0.0.1:8000/campus/u/manage-requests/
2
Pending Requests
StudentTopicProposed TimeLocationDescriptionActions
Alice Kim Project Guidance Wed 23 Apr 2026 14:00 – 15:00 Office 204 Need help with final year report structure.
Ben Lee Exam Clarification Thu 24 Apr 2026 10:00 – 10:30 Lab 1 Questions about past paper.
1
Approved Requests
StudentTopicTimeLocationYour Remarks
Chen Rui Research Methodology Fri 25 Apr 2026 15:00 – 16:00 Office 204 See you then, bring your draft.
0
Rejected Requests
StudentTopicProposed TimeYour Remarks
No rejected requests.
127.0.0.1:8000/campus/u/homepage/ — Calendar panel
April 2026
Sun
Mon
Tue
Wed
Thu
Fri
Sat
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
09:00 CS301 — Algorithms (Hall B2)
14:00 Meeting: Dr. Ahmed (Office 204)
18:00 Assignment Submission [Personal]
Personal Tasks | By Priority
  • Assignment Submission
    Apr 21, 06:00 PM
    High
  • Revise CS410 Notes
    Apr 23, 09:00 AM
    Medium
  • Library Book Return
    Apr 28, 05:00 PM
    Low
Scheduled lectures | Today
2 hrs ago CS301 is scheduled to start on Mon 21 Apr at 09:00AM
3 hrs ago CS204 is scheduled to start on Mon 21 Apr at 11:00AM
5 hrs ago CS410 is scheduled to start on Tue 22 Apr at 02:00PM

Built on battle-tested technologies

A carefully selected stack balancing developer productivity with production reliability.

Backend & Framework

Python 3.8+ Django 4.2 Django REST Framework SQLite3 Gunicorn WhiteNoise

Async & Task Queue

Celery 5.3 Redis (Broker) Celery Beat Django Email Backend

Frontend & UI

Bootstrap 5 FullCalendar 5 Bootstrap Icons Open Sans / Nunito / Poppins Vanilla JavaScript

Auth & Utilities

Custom User Model django-formtools (Wizard) phonenumberslite pytz / timezone-field Pillow django-environ Crispy Forms

Three roles, one unified platform

Each role gets a tailored dashboard with exactly the tools they need.

🎓

Student

Enrolled learners managing their academic life

  • View & confirm lecture attendance
  • Register for units / courses
  • Request meetings with lecturers
  • Create & track personal events (with priority)
  • View personal attendance report
  • Submit lecture hall feedback & ratings
  • Configure reminder preferences
👨‍🏫

Faculty / Lecturer

Teaching staff organising their schedule

  • Schedule and manage lectures
  • Manage personal events
  • Approve / reject / modify meeting requests
  • View student calendars
  • View class attendance data
  • Receive in-app & email notifications
🛡️

Admin

Institutional administrators with full oversight

  • Access all courses and lectures
  • View all student records
  • Monitor today's lecture overview
  • Full attendance data visibility
  • Manage lecture halls & venues

Running locally in minutes

Requires Python 3.8+, Redis, and a terminal.

1

Clone & create a virtual environment

git clone <repo-url>
python -m venv .venv && source .venv/bin/activate

2

Install dependencies

pip install -r requirements.txt

3

Apply migrations & create a superuser

python manage.py migrate
python manage.py createsuperuser

4

Start Redis (required for Celery)

Install Redis and run redis-server in a separate terminal.

5

Start Celery worker & beat scheduler

celery -A src worker -l info
celery -A src beat -l info

6

Launch the development server

python manage.py runserver
Open http://127.0.0.1:8000 in your browser.

Specification & Research

Full documentation covering research, requirements, and system design.

Functional Specification

Defines all system requirements, user stories, and functional behaviour expected from the Smart Scheduler platform.

Download PDF

Research Document

Background research into scheduling systems, related works, and the academic context motivating this project.

Download PDF

Design Specification

Architecture diagrams, data models, UI wireframes, and technical design decisions for the full system.

Download PDF