Team Paralax

A web-based Class Routine Creation System that helps administrators manage professors, subjects, classes, and schedules efficiently with real-time teacher conflict detection.

Team Paralax - Image 1

About This Project

Team Paralax is a college team project (4 members) built during a 36-hour hackathon to streamline academic scheduling. The system is a web-based Class Routine Creation System that helps administrators manage professors, subjects, classes, and schedules efficiently. It features real-time teacher scheduling conflict detection, preventing double-booking of professors across classes and time slots. The backend is built with Node.js, Express, and MongoDB, exposing clean CRUD APIs consumed by a React + Tailwind CSS frontend dashboard. The dashboard displays total counts of professors, classes, and routines, and automatically validates teacher availability during routine creation. A modular architecture ensures scalability and ease of future updates.

Key Features

  • Add, update, and delete professors, classes, and subjects via CRUD operations
  • Create routines based on specific classes and days of the week
  • Prevent scheduling conflicts for teachers in real-time with conflict-detection algorithm
  • Display total number of professors, classes, and routines on the dashboard
  • Automatically validate teacher availability during routine creation

Challenges & Solutions

1

Designing a system that dynamically checks whether a teacher is already booked for a given period across all classes

On each routine-creation request, the Express API queried all existing routine documents for the same day and period, returning a 409 conflict response if the selected teacher already appeared in any — the React frontend surfaced this as an inline validation error before saving

2

Creating a flexible, user-friendly interface to build routines for any class and any day of the week

Built a grid-based React UI where rows represented time periods and columns represented weekdays; each cell held a dropdown of available teachers and subjects, populated dynamically from the backend based on the selected class

3

Managing complex relationships between professors, subjects, and classes in a normalized database structure

Used MongoDB references (ObjectId) to link subjects and professors to their parent class documents, then resolved them in a single aggregation pipeline on the backend, keeping each collection normalized and avoiding data duplication

Technologies Used

ReactTailwind CSSMongoDBExpressJSNodeJS

Project Details

Category:Full-Stack Web Application
Year:2024

Tags

HackathonMERN StackSchedulingCRUDConflict DetectionDashboard