TA Scheduler App
A Django-based web application built by a four-person scrum team over the course of a month as part of a Software Engineering class project. The app allows academic administrators to manage instructors, teaching assistants (TAs), courses, and course sections. Developed in two Agile sprints using Trello to organize tasks, the project focused on clean UI design, user account roles, and relationship-driven CRUD operations between instructors, TAs, and course data.
Key functionality includes:
-
Persistent login sessions with automatic login restoration
-
Admin and instructor-specific dashboards based on user role
-
Full instructor, TA, course, and section creation/editing/deletion
-
Instructor assignment to courses, and TA assignment to course sections
-
Relationship management: Deleting a course also removes its sections; deleting an instructor/TA clears assignments
Instructors can only assign TAs to sections of their own courses, enforcing role-based permissions. The project emphasized backend structure, user validation, and relational integrity while supporting real-time user feedback. While the app was not publicly deployed, it is fully functional when run locally and follows Django project conventions and patterns.
Technologies Used:
Backend:
Django 4
, SQLite
, Django Auth
, Model Forms
, Querysets
, Class-Based Views
Frontend:
HTML5
, CSS3
, Vanilla JavaScript
Team Tools:
Trello
, Agile Methodology
, Sprint Planning
, Scrum Standups
Other Features:
Role-based dashboards, persistent login sessions, relational model design, foreign key-based assignment logic