44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# luisdralves
|
|
|
|
Personal portfolio as a linear scroll gallery. Motion as medium.
|
|
|
|
## Stack
|
|
|
|
- **Next.js 16** — RSC-first
|
|
- **motion.dev** — Scroll-driven animations, spring physics
|
|
- **react-three-fiber** — 3D travel passport with page turns
|
|
- **Tailwind CSS 4** — Styling
|
|
- **better-sqlite3** — Visitor counter persistence
|
|
- **Biome** — Linting and formatting
|
|
|
|
## Environment
|
|
|
|
Copy `.env.example` to `.env` and configure:
|
|
|
|
| Variable | Description |
|
|
|----------|-------------|
|
|
| `IMMICH_API_URL` | Immich API base URL (e.g., `https://my.immich.app/api`) |
|
|
| `IMMICH_API_KEY` | API key with scopes: `album.read`, `asset.read`, `asset.download` |
|
|
| `IMMICH_ALBUM_ID` | UUID of the album to display in the photography section |
|
|
|
|
## Server Requirements
|
|
|
|
- [exiftool](https://exiftool.org/) (image metadata stripping)
|
|
|
|
## Development
|
|
|
|
```bash
|
|
bun install
|
|
bun dev
|
|
```
|
|
|
|
## Scripts
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `bun dev` | Development server (Turbopack) |
|
|
| `bun build` | Production build |
|
|
| `bun start` | Production server |
|
|
| `bun lint` | Biome checks |
|
|
| `bun format` | Biome formatting |
|