- Run
npm install - Start the server:
node server.js - Open http://127.0.0.1:5500/Thien_event/notification.html ( Pop up notify when
POST /registrations)
POST /auth/loginPOST /registrationsDELETE /registrations/:registrationIdGET /registrations/listRegistrationsGET /registrations/getRegistrationsByDate?start=2025-01-01&end=2025-02-01
BODY /auth/register ( if not have account ) { "username": "user", "password": "123", "role": "admin" }
/registrations { "studentId": "S12344", "eventId": "EVT001" }
Part 2
Subject Code: SDN302
Duration: 85 Minutes
Technology Stack: Node.js, Express, MongoDB, EJS, Socket.io
This project is an Event Management System for FPT University Da Nang. It allows admins to manage events and view registrations, while students can register/unregister for events. It also features authentication, role-based access control, and real-time notifications.
├── controllers/ │ ├── authController.js │ ├── eventController.js │ └── registrationController.js ├── middleware/ │ └── authMiddleware.js ├── models/ │ ├── userModel.js │ ├── eventModel.js │ └── registrationModel.js ├── public/ │ └── js/ │ └── socket-client.js ├── routes/ │ ├── authRoutes.js │ ├── eventRoutes.js │ └── registrationRoutes.js ├── views/ │ ├── login.ejs │ ├── adminDashboard.ejs │ ├── userDashboard.ejs │ ├── eventDetail.ejs │ ├── partials/ │ │ ├── registerEvent.ejs │ │ └── cancelRegistration.ejs ├── db.json ├── server.js └── README.md
- Login system with session management
- Role-based access (admin / student)
- View all upcoming events
- See current registration count vs capacity
- Register or unregister for events
- View event details before registering
- View and search all registrations
- Pagination support
- Real-time registration notifications via Socket.io
- Notification to admins when a new registration occurs
git clone https://github.com/yourusername/event-management-system.git
cd event-management-system
npm install
npm start
Username Password Role
user 123 admin
user1 123 student