Back to portfolio

Association website and admin system · 2026

AMAC Platform

Production site and dashboard for AMAC, managing members, events, workshops, directives and join requests.

Type
Institutional + Admin
Modules
Members / Events
Status
Production

Problem

AMAC needed a public presence for the association and a private system to manage members, workshops, events, registrations, directives and membership workflows from one place.

Contribution

Built a Next.js and Express TypeScript monorepo with a public marketing site, join form, authenticated dashboard, CRUD modules, image uploads, PDF reports and email-backed membership requests.

Key points

  • Public site communicates AMAC's mission and lets mechanics, workshops and students request membership.
  • Dashboard modules manage members, member types, workshops, workshop assignments, events, registrations, directives and users.
  • PDF exports for member lists and event registrations, plus Azure Blob image handling for event and content assets.

How it is built

  • Next.js app split into public routes and protected dashboard routes.
  • Express API protected by API keys and signed session cookies, with routes mounted both with and without /api for deployment compatibility.
  • PostgreSQL persistence, Zod validation, Nodemailer join flow, Sharp image optimization and Azure Blob storage.

Stack

Next.js · React · TypeScript · Express · PostgreSQL · React Hook Form · Zod · React PDF · Azure Blob · Nodemailer · Tailwind CSS

View live project