Academic
ventEvent — Event Management App (DNW Midterm)
2025 · 6 weeks
Grade · 90/100
About this project
A full-stack event-management web app built for CM2040 Database Networks and the Web (University of London). Organisers draft and publish events with categorised tickets; attendees browse, filter, search, and book. Features: 🔐 Organiser auth with bcrypt + `express-validator` and session management 📝 Draft / publish workflow for events with categories and tags 🎟️ Full and concession ticket types with per-type quotas 📊 Organiser dashboard: bookings summary + remaining ticket counts 🔍 Attendee discoverability: category dropdown + keyword search (title or tag), combinable, filtered in SQL with bound parameters 🗓️ Timezone helpers, form validation, copy-link, and action confirmations in client JS Going beyond the spec: - Many-to-many tagging via `tags` + `event_tags` tables (ON DELETE CASCADE on both FKs) - Dynamic SQL builder combining `LIKE` title search, tag subqueries, and category filter in one statement - Organiser-side remaining-ticket display (not in the base spec) - Low-tech-debt structure: shared queries in `util/dbHelpers.js` and auth guards in `middleware/requireLogin.js`
Tech stack
- JavaScript
- Node.js
- Express
- SQLite
- EJS
- Tailwind CSS