Skip to content

Latest commit

 

History

History
94 lines (48 loc) · 2.32 KB

plan.md

File metadata and controls

94 lines (48 loc) · 2.32 KB

Implementation Plan

Stack of the project

Please refer these stacks before going into the implemetations

  • Frontend : React with vite & typescript
  • Backend : Node.js with express.js
  • Database : MongoDB

Frontend

1. User Management

  • User Registration Form (Signup):

      Create a form using React to capture user details (email, password, role).
    
  • Login Form:

      Create a login form and handle JWT token storage in localStorage or cookies.
    
  • Admin Dashboard:

      Build the admin dashboard UI to manage halls, bookings, and users.
    
  • User Profile Page (optional):

      Allow users to view and update their profile information.
    

Role-Based Access Control:

Define roles: admin, user in the user model (MongoDB).

  • admins have all the privillages like accept a reservation or reject a reservation
  • users have limited privillages. if we want to categories users then we can differentiate between student and lecturers

2. Hall Booking

  • Hall List View:

      Create a view to list all halls with basic details (name, capacity, availability).
    
  • Booking Form:

      Build a booking form where users can select the hall, date, time, and event details.
    
      Add client-side form validation (e.g., ensuring event end time is after the start time).
    
  • Booking Modification/Cancelation:

      Add functionality for users and admins to modify or cancel bookings via a modal or edit form.
    

3. Calendar & Graphical Representation

  • Calendar View:

      Use a calendar library (e.g., FullCalendar for React) to display hall bookings.
    
      Ensure bookings are color-coded based on status (booked, available, canceled).
    
      Add filters (date, hall) to customize calendar views.
    
  • Graphical Representation (Optional):

      If opting for a graphical view of halls, use a library like D3.js or Three.js to visualize hall layouts.
    
      Highlight hall details on hover/click (e.g., capacity, availability).
    

4. Notifications and Alerts

  • Email Notification Setup:

      Inform users via a confirmation screen that an email/SMS has been sent after a successful booking.
    
  • Reminder Notifications:

      Show pop-up or toast notifications for reminders on the user dashboard.
    

5. AI/ML Features

    later development

Backend

---> loading