Proyecto Horarios

Nov 2021
School ProjectNov 20215 technologies11 features

About this project

A full-stack web application for managing university professor schedules at TecMM Lagos de Moreno. Built with Node.js, Express.js, MySQL, and Handlebars, it provides role-based access (admin/user) via Passport.js authentication with bcrypt password hashing and MySQL session storage.

Admins can perform CRUD operations on professors and manage system users with duplicate email validation. Schedules are created through forms selecting professor, day of week (Monday-Saturday), time range, and building/classroom location, rendered as a visual timetable grid with search functionality.

Features a public browsing mode for unauthenticated visitors, automatic initial admin seeding, flash message notifications, and a responsive Bootstrap UI.

Features

Role-based access (Admin, User) with Passport.js local authentication and bcrypt password hashing
CRUD operations for professor records (name, academia)
CRUD operations for system user accounts with duplicate email validation
Schedule creation with day of week (Mon-Sat), time range, and building/classroom location
Visual timetable grid per professor showing all weekly scheduled slots
Search/filter schedules and professors by name
Public schedule browsing mode without authentication
Automatic initial admin seeding on first application launch
Flash notification messages for user feedback
Custom 404 error page for invalid routes
Responsive Bootstrap UI with sidebar navigation

Tech Stack

Node.jsExpress.jsBootstrapHandlebarsPassport.js