Skip to content

lilhorse/eventseek

Repository files navigation

EventSeek

A cloud-native event-management platform for university expos, departmental seminars and community meet-ups. Organisers create events, approve registrations and run on-site check-in via a rotating 6-character door code; participants discover events, register (with optional approval message) and check in by code on the day.

AUT INFS803 Cloud Computing 2026 S1 — Group 4 Final Project.

Web client https://eventseek.cc
Backend API https://api.eventseek.cc/api/v1
API docs https://api.eventseek.cc/docs
Source https://github.com/lilhorse/eventseek

Architecture

EventSeek deployment view

Classic three-tier app with every stateful concern delegated to a managed AWS service:

  • Frontend — Next.js 16 (App Router, TypeScript, Tailwind v4) deployed on Vercel's edge network.
  • Backend — Laravel 13 REST API on a single t4g.micro EC2 in ap-southeast-2, running Nginx + PHP-FPM + queue worker + Laravel Reverb WebSocket under supervisord.
  • Data plane — RDS MySQL 8.4, S3 (uploads via presigned URLs), SQS (async jobs and email fan-out), SES (transactional email).
  • Edge — Cloudflare for DNS, TLS termination, WAF and WebSocket pass-through.
  • Auth — Email + 6-digit verification code or Google OAuth (Laravel Socialite), with Sanctum bearer tokens for the API.

Repository layout

.github/workflows/   GitHub Actions deploy pipeline (OIDC → S3 → SSM)
backend/             Laravel 13 API — Sanctum, Reverb, Pest, Pint
frontend/            Next.js 16 client — Tailwind v4, pnpm workspace

Local development

Backend

cd backend
composer install
cp .env.example .env && php artisan key:generate
php artisan migrate --seed
php artisan serve            # http://127.0.0.1:8000

Test and lint:

php artisan test --compact
vendor/bin/pint

Frontend

cd frontend
pnpm install
pnpm dev                     # http://localhost:3000

Point the client at a local API by setting NEXT_PUBLIC_API_BASE_URL=http://127.0.0.1:8000/api/v1 in frontend/.env.local.

Deployment

A push to main triggers two parallel pipelines:

  • Vercel rebuilds and atomically promotes the frontend.
  • GitHub Actions (.github/workflows/deploy.yml) lints and tests the backend, assumes a short-lived AWS role via OIDC, uploads the rendered .env to the deploy S3 bucket, then runs the deploy script on EC2 through SSM Send-Command. No long-lived AWS access keys exist in the repo or on the instance.

Attribution

Coursework submission for AUT INFS803 Cloud Computing (2026 S1). Not licensed for production reuse.

About

A cloud-native event management platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors