nlevesque fd2d5408d6 Fix login error feedback + load basecoat toast module
- inline error message on the login form (401 shows a visible French
  message, hidden again on submit)
- import basecoat-css/toast in BaseLayout: every showToast in the app
  was silently no-oping because the toast JS was never loaded
2026-07-28 23:30:18 +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%