Files
webgpu-portfolio/README.md
djoser 9c99027ea6
Some checks failed
Build & Deploy / build (push) Failing after 35s
Build & Deploy / deploy (push) Has been skipped
feat: SPA routing, projects/resume sections, deployment infra
- Add client-side router with History API pushState (router.ts, pages.ts)
- Extend overlay with projects grid/category/detail views and resume section
- Add Gitea CI/CD workflow and webhook deployment server
- Improve Docker Compose with nginx reverse proxy config
- Add deployment script and .env.example
2026-07-26 23:48:15 +00:00

47 lines
1.1 KiB
Markdown

# WebGPU Portfolio
[![Build & Deploy](https://git.djosen.one/djoser/webgpu-portfolio/actions/workflows/deploy.yml/badge.svg?branch=master)](https://git.djosen.one/djoser/webgpu-portfolio/actions)
Generative-art portfolio site. WebGPU canvas background, DOM overlay UI.
## Dev
```bash
npm install
npm run dev # vite dev server (opens browser)
npm run typecheck # tsc --noEmit
npm run build # typecheck + vite build → dist/
npm run preview # serve built dist/
```
## Docker
```bash
# Build
docker build -t webgpu-portfolio .
# Run (foreground)
docker run --rm -p 8080:80 webgpu-portfolio
# Run (detached)
docker run -d -p 8080:80 --name portfolio webgpu-portfolio
# Compose
docker compose up -d
```
Site at `http://localhost:8080`.
### Smoke test
```bash
docker run -d -p 8080:80 --name portfolio-test webgpu-portfolio
curl -sSf http://localhost:8080/ > /dev/null && echo "OK"
curl -sSf http://localhost:8080/assets/ | head -1 # should 200 (hashed JS)
docker stop portfolio-test
```
### Image size
~6 MB (nginx:alpine-slim + static dist). Multi-stage build — Node build layer is discarded.