All projects

WebOct 2023 – Dec 2023

Eventify

A web app to create and manage events

  • React
  • TypeScript
  • Node.js
  • Express
  • PostgreSQL
  • Prisma
  • Redux Toolkit
  • Clerk
  • Docker
  • Kubernetes
  • Google Cloud Storage
  • Socket.io
  • Microservices

Architecture (simplified)

KubernetesClientReactAuthClerkEvent prepExpressPrismaEventhandlingExpressPrismaPostgreSQLeventsguestsLivestreamSocket.ioCloudStoragephotosKubernetesClientReactAuthClerkEvent prepExpressPrismaEventhandlingExpressPrismaPostgreSQLeventsguestsLivestreamSocket.ioCloudStoragephotos
Clients sign in through Clerk and call two Express services on Kubernetes: event prep (events, guests, RSVPs, kept in Postgres) and event handling (photos in Cloud Storage, plus a live stream over Socket.io that was never finished).

About the project

Eventify is a platform for planning an event and running it: upcoming, ongoing and finished events, guests and gifts, RSVP status and photo uploads. It started as a CU Boulder course project for Data Center and Scale Computing that I built on my own, where the point was to split a product into services and deploy them on Kubernetes.

It is two TypeScript Express services that use Prisma on PostgreSQL: event prep, and event handling, which takes photo uploads to Google Cloud Storage. A React frontend with Redux Toolkit, Radix components and Clerk sign-in sits in front. Each service has its own Dockerfile, and Kubernetes manifests deploy the database, both services and the frontend with one script. I ran it on GCP, with most of the testing done locally.

Live streaming over Socket.io and simple-peer was the planned next step: designed and started, but not part of the demo, and the project stopped there.