Skip to content

Nomsociuu/f-event

Repository files navigation

Event Management System

Setup

  1. Run npm install
  2. Start the server: node server.js
  3. Open http://127.0.0.1:5500/Thien_event/notification.html ( Pop up notify when POST /registrations)

API Endpoints

  • POST /auth/login
  • POST /registrations
  • DELETE /registrations/:registrationId
  • GET /registrations/listRegistrations
  • GET /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

🎉 Event Management System - FPT University Da Nang

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.


📁 Project Structure (MVC Pattern)

├── 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


🚀 Features

🔐 Authentication & Authorization

  • Login system with session management
  • Role-based access (admin / student)

🎓 Student Functionality

  • View all upcoming events
  • See current registration count vs capacity
  • Register or unregister for events
  • View event details before registering

🧑‍💼 Admin Functionality

  • View and search all registrations
  • Pagination support
  • Real-time registration notifications via Socket.io

📡 Real-Time

  • Notification to admins when a new registration occurs

⚙️ Setup Instructions

1. Clone the Repository

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

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors