Full-stack web application
Conference Management System
Full-stack application for running academic conferences: submissions, peer review, programs, registration, QR-code check-in and certificates.
- My role
- Full-stack developer.
- Audience
- Conference organisers, authors submitting abstracts and papers, peer reviewers, and attendees.
- Status
- Academic project
- Stack
- React
- Vite
- TypeScript
- Tailwind CSS
- React Router
- Node.js
- Express
- Zod
- MySQL
Client
- React 19
- Vite
- TypeScript
- Tailwind CSS
- React Router
API
- Node.js
- Express
- TypeScript
- Zod validation
Database
- MySQL 8
Overview
An academic conference management application, designed to work as a real application rather than only a coursework submission. It covers the life of a conference, from creating the event and collecting papers to checking attendees in and issuing certificates.
The application is not publicly deployed.
Who it serves: Conference organisers, authors submitting abstracts and papers, peer reviewers, and attendees.
The problem
Running an academic conference involves several groups working through one process: organisers set it up, authors submit, reviewers assess, and attendees register and attend. The application brings these steps into one system with the right access for each role.
User workflow
- 1Organiser creates and configures a conference
- 2Authors submit abstracts and papers
- 3Reviewers assess submissions through a peer review workflow
- 4Organisers build the conference program
- 5Attendees register
- 6Attendees check in on the day with a QR code
- 7Certificates are generated for participants
Features
Documented scope
- Conference creation and management
- Abstract and paper submissions
- Peer review workflows
- Conference program management
- Attendee registration
- QR-code check-in
- Certificate generation
Documented security measures
- Password hashing
- HTTP-only cookies
- Security headers
- Rate limiting
- Account locking after repeated failed sign-ins
Technical decisions
Typed end to end
TypeScript on both the React client and the Express API, with Zod validating data at the API boundary.
Relational data model
Conferences, submissions, reviews, programs and registrations are closely related records, which suits a relational database such as MySQL.