• Home
  • About
  • Education
  • Skills
  • Projects
  • Blog
  • Contact
  • ETC

    • HeavyRotation
jakka - 2024
githublinks

ComCamp 36 Registration Platform

I (should )have written about my ComCamp 36 experience as a whole, including experience for being a VP, event management, and more outside the tech side at my blog. Be sure to check it out. (If there is no link under this paragraph, then I have not publish it yet.)

ComCamp 36 is a 4 nights camp at CPE KMUTT which aims to teach high school students basic computer engineering and spark their interest in the subject. It received interests from over thousands grade 10-11 students all over Thailand and also holds the record as the longest running computer engineering camp in the country.

Each year, staff develops a registration platform at comcamp.io (for ComCamp36, it is archived here), this website is seen by thousands of users, peaked at 10k unique sessions on landing page.

Since I am primary the VP of this project (as a whole — as in I also have responsibility in other parts like event planning, staff management, etc.), I mostly took on the responsibility of deploying and maintaining CI/CD pipeline with GitHub Actions, Docker, Traefik, and Ubuntu Linux.

I also collaborated with the development team to help deliver the registration platform and also the internal participant management platform, which is a separate web application, in time for the deadline. I help fix component rendering issues, introduced new UI component to improve user experiences, troubleshoot deployment roadblocks, and more.

* note that this is mostly squashed commits since we work on staging branches before merging our changes to main

The frontend for the registration platform was developed using Next.js, TailwindCSS, shadcn/ui, and Posthog for observability. The backend used Nest.js, Node.js, and Prisma. The participant management platform was a standalone Next.js application in a Docker container which primarily used server actions for its business logic to isolate it from user facing API. It was also developed using TailwindCSS, shadcn/ui, but used Drizzle for its ORM.

This is the public facing website 🤩

This is the only surviving screenshot of the internal website on my machine.

Stack / Tools

React.js icon

React.js

Next.js icon

Next.js

Typescript icon

Typescript

TailwindCSS icon

TailwindCSS

Cloudflare Pages icon

Cloudflare Pages

Docker icon

Docker

Turborepo icon

Turborepo

Git icon

Git