nlevesque c5378f6008 Make the app installable (PWA metadata)
- manifest.webmanifest with name, standalone display, theme color
- PNG icons 192/512 + maskable variant + apple-touch-icon (from the
  Poké Ball favicon)
- minimal pass-through service worker (installability requirement)
- apple/mobile web app meta tags
2026-07-28 21:30:32 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00
2026-07-28 08:58:44 +02:00

PokeShare

A French-language Pokémon TCG collection tracker and sharing app. Users search cards from the TCGdex catalog, track their personal collection with Cardmarket price valuations, and share collections with friends.

Stack

Commands

Command Action
bun install Install dependencies
bun run dev Start dev server at localhost:4321
bun run build Build the production site to ./dist/
bun run preview Preview the production build locally

Production runs as a standalone Node server (node dist/server/entry.mjs), Node >= 22.12.

Environment variables

Variable Description Default
DIRECTUS_URL URL of the Directus backend (auth + data) https://directus.namarusaja.me

Read at runtime (process.env), so the same Docker image can be deployed against different Directus instances. For local dev, copy .env.example to .env. HOST and PORT are also honored by the standalone server.

Docker

Single container (external Directus):

docker build -t pokeshare .
docker run -p 4321:4321 -e DIRECTUS_URL=https://directus.example.com pokeshare

Or with the compose file:

DIRECTUS_URL=https://directus.example.com docker compose up --build
  • The app listens on 4321; expose it on your domain (Coolify: expose the app service, or use the plain Dockerfile build pack).
  • Collections, roles and permissions are managed from the Directus Data Studio; public registration is enabled with the "App User" role.

Structure

  • src/pages/ — routes (/, /search, /mycards, /card/[id], /series/[id], /sets/[id], /friends, /profile, /login, /register) and JSON API endpoints under src/pages/api/
  • src/middleware.ts — Directus session (directus_auth cookie) with token refresh, exposes locals.directus and locals.user
  • src/lib/ — Directus client + types, TCGdex cache, collection pricing, auth helper, type theming
  • src/layouts/, src/components/ — base layout and nav
S
Description
No description provided
Readme
562 KiB
Languages
Astro 77%
TypeScript 20.8%
CSS 1.3%
Dockerfile 0.5%
JavaScript 0.4%