JRM

JamesReviewsMusic

Search
Backlog 51
JRM-12

Epic 2: Untangle the backend before the framework swap

JRM-13

Extract env and db out of the entry point

JRM-14

Wrap multi-step review writes in transactions

JRM-15

Harden auth: rate limit login, validate JWT secret, tidy CORS origins

JRM-16

Use AppError with proper status codes everywhere

JRM-17

Add /api/health endpoint and container healthchecks

JRM-18

Epic 3: Proper database migrations

JRM-19

Upgrade drizzle-orm and drizzle-kit

JRM-20

Generate and commit a baseline migration

JRM-21

Mark the baseline as applied on prod and staging

JRM-22

Run migrations at deploy time instead of push at container boot

JRM-23

Epic 4: Migrate the backend from Express to Hono

JRM-24

Scaffold the Hono app and port the middleware layer

JRM-25

Port all API routes to Hono with zod validation

JRM-26

Properly validate review submissions

JRM-27

Replace Socket.IO with SSE and make image jobs async

JRM-28

Replace the frontend fetch wrapper with the Hono RPC client

JRM-29

Keep the integration tests green through the port

JRM-30

Cut over to Hono and delete Express

JRM-31

Epic 5: Move the header scraper into a browser sidecar

JRM-32

Add a browserless Chromium service to the compose stack

JRM-33

Connect the scraper to the sidecar instead of launching Chromium

JRM-34

Slim the API image: node 22, non-root, no Chromium

JRM-35

Epic 6: Modernise the test stack

JRM-36

Move backend tests from Jest to Vitest

JRM-37

Build a real database seeder

JRM-38

Replace Cypress with Playwright

JRM-39

Epic 7: Infra and deploy modernisation

JRM-40

Pin all container images and versions

JRM-41

Serve static assets properly from nginx

JRM-42

Harden the Jenkins deploy pipeline

JRM-43

Move backups to bur-cli

JRM-44

Request logging and an external uptime check

JRM-45

Epic 8: Frontend data-layer cleanup

JRM-46

Query key factory and queryClient hygiene

JRM-47

Make the URL the single source of truth for filters and sorting

JRM-62

Visual identity pass

JRM-60

Reduced motion support and performance limits on visual effects

JRM-59

Replace hand-rolled dropdowns and dialog with accessible primitives

JRM-58

Design tokens and layout cleanup

JRM-57

Epic 10: Redesign

JRM-56

Social cards and per-page meta

JRM-55

Server-render the public pages

JRM-54

Scaffold Start and port the routes

JRM-53

Epic 9: Move the frontend to TanStack Start

JRM-51

Move ratingTiers to shared and fix the package entry point

JRM-50

Proper optimistic bookmark toggle with rollback

JRM-49

Rework useAlbumStatus fetching behaviour

JRM-48

Decouple the generic Dropdown from the root route

JRM-61

Consolidate the card components and font pipeline

JRM-52

Consistent loading and pending states

Todo 10
In Progress 0
No tickets
In Review 0
No tickets
Done 1