Skip to content
All projects

Full-stack web application

Conference Management System

Not publicly deployed · Academic project

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
Documented architecture
  1. Client

    • React 19
    • Vite
    • TypeScript
    • Tailwind CSS
    • React Router
  2. API

    • Node.js
    • Express
    • TypeScript
    • Zod validation
  3. 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

  1. 1Organiser creates and configures a conference
  2. 2Authors submit abstracts and papers
  3. 3Reviewers assess submissions through a peer review workflow
  4. 4Organisers build the conference program
  5. 5Attendees register
  6. 6Attendees check in on the day with a QR code
  7. 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.