cesnimda c877c61e3e
CI / quality (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / lighthouse (push) Has been cancelled
CI / relay (push) Has been cancelled
Deploy / deploy (push) Has been cancelled
CI / images (push) Has been cancelled
deploy: publish site on host port 1337; nginx proxies /api/contact; auto-deploy
- site nginx listens on 1337; proxies /api/contact to the relay over the internal
  network (single public port; TLS terminates upstream at Cloudflare)
- trailing-slash rewrite moved inside location / so /api/contact isn't redirected
- compose: publish ${SITE_PORT:-1337}, internal bridge network, no Traefik labels
  (non-destructive — does not touch the WordPress apex router)
- .gitea/workflows/deploy.yml: on push to main, runner rebuilds + restarts the stack

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 10:00:33 +02:00

ResumeSite — Connor Babbington portfolio

Bilingual (English / Norwegian Bokmål) portfolio website. Static-first Astro site with a small self-hosted .NET contact relay, built to the specifications in docs/.

Stack

Astro 5 (static output) · TypeScript (strict) · Tailwind CSS 4 over CSS custom-property tokens · CSS-first motion (no animation library) · built-in i18n + typed dictionaries + content collections · zero client-state libraries · .NET 9 minimal-API contact relay · pnpm / Vitest / Playwright · Docker + nginx, self-hosted.

Quick start (local, without Docker)

cd site
pnpm install
pnpm dev            # http://localhost:4321

Quick start (Docker)

# Development (HMR)
docker compose -f deploy/docker-compose.dev.yml up

# Production build preview
docker compose -f deploy/docker-compose.yml up --build

See docs/spec/DOCKER_SPEC.md and docs/spec/DEPLOYMENT_SPEC.md for the full picture.

Repository layout

site/     Astro project (pages, components, content, i18n, styles, scripts)
relay/    .NET 9 minimal-API contact relay
deploy/   compose files, nginx config, env templates
tests/    Playwright end-to-end tests
docs/     design (Phase 1) + spec (Phase 2)
.gitea/   CI/CD workflows

Commands

Command What it does
pnpm dev Astro dev server with HMR
pnpm build Static production build → site/dist/
pnpm preview Serve the production build locally
pnpm check astro check + tsc --noEmit
pnpm lint ESLint + Prettier check
pnpm test Vitest unit tests
pnpm test:e2e Playwright end-to-end tests
S
Description
No description provided
Readme 2.3 MiB
Languages
TypeScript 53.8%
Astro 29.9%
JavaScript 9.2%
CSS 4.4%
C# 1.9%
Other 0.8%