How manavsharma2707/noclash works
NoClash is a role-based timetable conflict checker with a React single-page app, an Express API, and MySQL persistence. Users register and await administrator approval; after login, administrators manage users and academic resources, professors view schedules and book extra classes, and students view schedules and profile details. The README documents transactional SQL conflict checks across room, professor, and batch, plus base-versus-extra schedule rules. The backend excerpt is incomplete, so API capabilities beyond the sampled handlers follow README documentation; internal route wiring is represented at the documented endpoint level.
Main entry points: App.jsx Route shell · db.js MySQL pool · server.js Authentication and users · AdminDashboard.jsx Admin dashboard
Components 13
Web app
- Route shell
Frontend/src/App.jsx - Login
Frontend/src/pages/LoginPage.jsx - Registration
Frontend/src/pages/RegisterPage.jsx - Admin dashboard
Frontend/src/pages/AdminDashboard.jsx - Professor dashboard
Frontend/src/pages/ProfessorDashboard.jsx - Student dashboard
Frontend/src/pages/StudentDashboard.jsx
API and domain
- Authentication and users
Backend/server.js - Admin resources
Backend/server.js - Professor scheduling
Backend/server.js - Student views
Backend/server.js
Persistence
- MySQL pool
Backend/lib/db.js - Academic database
Other components
- User
Connections 17
- User → Route shell: opens
- Route shell → Login: routes
- Route shell → Registration: routes
- Route shell → Admin dashboard: routes
- Route shell → Professor dashboard: routes
- Route shell → Student dashboard: routes
- Login → Authentication and users: submits credentials
- Registration → Authentication and users: submits registration
- Admin dashboard → Authentication and users: manages users
- Admin dashboard → Admin resources: manages resources
- Professor dashboard → Professor scheduling: loads and books
- Student dashboard → Student views: loads schedule and profile
- Authentication and users → MySQL pool: queries users
- Admin resources → MySQL pool: queries resources
- Professor scheduling → MySQL pool: checks and writes schedule
- Student views → MySQL pool: queries schedules
- MySQL pool → Academic database: executes SQL