The best way to predict the future is to invent it

MyEvents

Project Overview

Every day, the University of Adelaide and its student clubs host dozens of events-from social mixers and pub crawls to career expos and skill-building workshops. These activities are scattered across Instagram, Facebook and various faculty websites, making it difficult for students-especially first‑years - to stay informed. As a result, many valuable opportunities are missed.

MyEvents is a centralized, university‑focused platform (think Eventbrite for Adelaide Uni) that enables verified students and staff to:

  • Discover and browse upcoming events
  • Search, filter and explore rich event details
  • Register or purchase (free and on-site paid) tickets
  • Create and publish their own events

With MyEvents, everyone in our community can easily find and participate in the experiences that matter to them.


Tech Stack

  • Front End: Vue.js
  • Back End: Node.js, MySQL, Passport.js

Features & Functionality

Role-Based Features

FeatureAdminUserVisitor
Admin Dashboard
User Management
• Search & Filter Users
• List All Users
• Add & Edit Users
• Assign Admin Role
• Delete Users
Event Management
• Search & Filter Events
• List All Events
• Create & Edit Events
• Upload Event Images
• Delete Events
Event Browsing & Ticketing
• Browse & View Details
• Filter by Type & Date
• Ticket Quantity Control
• Purchase Tickets
Authentication & Profiles
• Local Signup & Login
• Google OAuth Integration
• Profile Management

Security & Quality

  • Session Management: Secure cookies, session timeouts and logout handling
  • Input Validation & Sanitization: Protection against SQL injection, XSS and other attacks
  • Password Security: Bcrypt hashing and complexity enforcement
  • Role-Based Access Control: Fine‑grained permissions on UI and API endpoints
  • Password Strength Meter: Real‑time feedback during registration
  • Email Notifications: Automated welcome messages and ticket confirmations

Known Limitations

  • Forgot Password: UI scaffolded; backend flow pending
  • Online Payments: Currently cash‑only on-site; no integrated gateway
  • Scalability: Single‑region MySQL; consider sharding or read‑replicas under heavy load

Project Team

NameRoleGitHub Handle
Anh Khoa LeBackend Developermarkusle56
Ngoc Han NgoFrontend Developerngongochan
Luong Phuoc NguyenFrontend Developerlphuoc16