Skip to content
mode777Public

About

Netflix-style PS1 game catalog with an in-browser emulator — browse your library, stream discs and play, self-hosted on PocketBase.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSflix

A Netflix-style catalog for PlayStation 1 games. Browse a curated grid of titles, open a details view with cover, screenshots, and disc metadata. React frontend, PocketBase backend.

PSflix is self-hosted software — run your own instance (see the user guide or the local dev section below).

Repo layout

See AGENTS.md for the full breakdown of psflix_design/, pocketbase-docs/, pb_schema.json, and the conventions to follow when working on this repo.

References

Build specs

The original 10-stage build plan is archived at archive/specs/README.md. All stages are done; new work happens directly against the source tree.

Local dev

Implemented in Stage 1 (archive/specs/build-stages/01-scaffold.md). Bring up the full local stack with:

npm install
npm run pocketbase:download   # fetches the PocketBase binary into bin/
npm run build                 # builds the SPA into dist/
npm run pocketbase:serve      # serves API + SPA at http://127.0.0.1:8090

The serve script applies pb_migrations/ and loads pb_hooks/ automatically. For frontend work with hot reload, run npm run dev (Vite targets the local PocketBase by default).

Quality gates

The repo runs four checks per PR — these are the green-light gates configured in Stage 8 (archive/specs/build-stages/08-quality-gates.md):

Command What it does
npm run lint ESLint + Prettier (check only)
npm run typecheck tsc --noEmit
npm run test Vitest unit + component tests
npm run test:cov Vitest with coverage report (target: ≥ 70% on src/features/** and src/components/**)
npm run test:e2e Playwright e2e (Chromium + iPhone 13) against the local dev server

The same four scripts are run by CI on every push and PR.

A pre-commit hook (Husky + lint-staged) runs ESLint and Prettier on staged files. Install it locally with npm install (it runs husky via the prepare script).

Build

Produce the static artifact that ships inside the Docker image:

npm run build       # outputs dist/
npm run verify:build  # boots dist/ via a local server and curls it

Deployment

Pushing a v* git tag builds the SPA, builds a Docker image (PocketBase + dist/ + pb_migrations/ + pb_hooks/) and pushes it to harbor.alexklingenbeck.de/my/psflix:<version>. The Flux cluster runs the image. See AGENTS.md.

About

Netflix-style PS1 game catalog with an in-browser emulator — browse your library, stream discs and play, self-hosted on PocketBase.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages