1f695d3932
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# 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/`](docs/).
|
|
|
|
- **Design system & UX** (Phase 1): [`docs/design/`](docs/design/README.md)
|
|
- **Architecture & technical spec** (Phase 2): [`docs/spec/`](docs/spec/README.md)
|
|
- **Build status**: [`PROJECT_STATUS.md`](PROJECT_STATUS.md) · **Work list**: [`TODO.md`](TODO.md)
|
|
|
|
## 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)
|
|
|
|
```bash
|
|
cd site
|
|
pnpm install
|
|
pnpm dev # http://localhost:4321
|
|
```
|
|
|
|
## Quick start (Docker)
|
|
|
|
```bash
|
|
# 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`](docs/spec/DOCKER_SPEC.md) and
|
|
[`docs/spec/DEPLOYMENT_SPEC.md`](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 |
|