docs(readme): replace screenshots with neutral demo data
Old screenshots showed a real account. Retake them from the local stack with 30 demo games and persona "Dev". Add a dashboard shot and docs/screenshots/README.md. Refs Lobo_Corp/ToBePlayed-Deployment#12
No files matched your search
@@ -5,9 +5,9 @@ you finished. The UI is in German and English, with light and dark mode.
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
| Game detail | Public profile | Mobile |
|
| Dashboard | Game detail | Public profile | Mobile |
|
||||||
|---|---|---|
|
|---|---|---|---|
|
||||||
|  |  |  |
|
|  |  |  |  |
|
||||||
|
|
||||||
To Be Played is split into three repositories:
|
To Be Played is split into three repositories:
|
||||||
|
|
||||||
@@ -365,7 +365,7 @@ other, then start them in this order (Core also starts without Auth and finds it
|
|||||||
3. **Frontend**: in `ToBePlayed-Frontend`, `npm install`, then `npm run dev`, and open `http://localhost:5173`
|
3. **Frontend**: in `ToBePlayed-Frontend`, `npm install`, then `npm run dev`, and open `http://localhost:5173`
|
||||||
(`localhost`, not `127.0.0.1`, so the browser sends the login cookies to every local port). The development
|
(`localhost`, not `127.0.0.1`, so the browser sends the login cookies to every local port). The development
|
||||||
values must be `VITE_API_URL=http://localhost:8080` and `VITE_CORE_API_URL=http://localhost:8090`.
|
values must be `VITE_API_URL=http://localhost:8080` and `VITE_CORE_API_URL=http://localhost:8090`.
|
||||||
4. **Log in** with `dev@localhost` / `password123`. On the dashboard, start a Steam sync: the library fills with 8
|
4. **Log in** with `dev@localhost` / `password123`. On the dashboard, start a Steam sync: the library fills with 30
|
||||||
games, achievements, time to beat, moods, a wishlist and one speedrun game from recorded answers.
|
games, achievements, time to beat, moods, a wishlist and one speedrun game from recorded answers.
|
||||||
|
|
||||||
The dev user is `PLATFORM_ADMIN`, so user, auditor and admin pages can all be tried ("View as" in the menu
|
The dev user is `PLATFORM_ADMIN`, so user, auditor and admin pages can all be tried ("View as" in the menu
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
# README screenshots
|
||||||
|
|
||||||
|
The screenshots in the main README show a neutral demo library (30 games, persona "Dev"), never real user data.
|
||||||
|
They come from the local stack with the WireMock mocks of `ToBePlayed-Core/local/wiremock`.
|
||||||
|
|
||||||
|
## Start
|
||||||
|
|
||||||
|
1. Start the stack as in the main README, section "Local development without keys".
|
||||||
|
2. Open the app in a desktop browser, log in with `dev@localhost` / `password123`, pass the welcome page.
|
||||||
|
3. Settings: dark mode on, language English, public profile on.
|
||||||
|
4. Dashboard: "Sync now". Wait about one minute: the achievements load one Steam call per second.
|
||||||
|
5. Set three things by hand (the sync cannot):
|
||||||
|
- No Man's Sky: status Dropped.
|
||||||
|
- Slay the Spire: "Set to 100%".
|
||||||
|
- Celeste: rating 4 stars, note "Chapter 7 next."
|
||||||
|
6. Reload the dashboard and close the "games imported" banner.
|
||||||
|
|
||||||
|
## Capture
|
||||||
|
|
||||||
|
Set the viewport (browser DevTools device toolbar, or Playwright) to the size in the table. Take a viewport PNG, no
|
||||||
|
scaling, not full page.
|
||||||
|
|
||||||
|
| File | Viewport | Page and state |
|
||||||
|
|---|---|---|
|
||||||
|
| `library-desktop-dark.png` | 1280x1022 | `/library`, filter All, sort "Most played", 20 per page |
|
||||||
|
| `detail-desktop-dark.png` | 1280x1414 | `/library/504230` (Celeste) |
|
||||||
|
| `dashboard-desktop-dark.png` | 1280x1100 | `/dashboard`, banner closed, mouse away from the cards |
|
||||||
|
| `library-mobile-dark.png` | 390x1036 | `/library`, same state as desktop |
|
||||||
|
| `profile-desktop-dark.png` | 1280x1288 | log out, then `/u/Dev` |
|
||||||
|
|
||||||
|
## From the Claude box
|
||||||
|
|
||||||
|
The box is itself a container, so the stack differs from the main README. Traps first: the WireMock `-v` path is
|
||||||
|
resolved on the Docker host (the mock then loads 0 mappings), and the box reaches sibling containers only through
|
||||||
|
the shared network, not through `localhost`.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -d --name tbp_auth_db_local -e POSTGRES_DB=tbp_auth -e POSTGRES_USER=tbp_user -e POSTGRES_PASSWORD=local_secret_password postgres:17-alpine
|
||||||
|
docker run -d --name tbp_core_db_local -e POSTGRES_DB=tbp_core -e POSTGRES_USER=tbp_user -e POSTGRES_PASSWORD=local_secret_password postgres:17-alpine
|
||||||
|
docker run -d --name tbp_core_mocks_local wiremock/wiremock:3.9.1
|
||||||
|
for c in tbp_auth_db_local tbp_core_db_local tbp_core_mocks_local; do docker network connect ai_default $c; done
|
||||||
|
docker cp /workspace/private/tbp/ToBePlayed-Core/local/wiremock/. tbp_core_mocks_local:/home/wiremock/
|
||||||
|
curl -X POST tbp_core_mocks_local:8080/__admin/mappings/reset
|
||||||
|
```
|
||||||
|
|
||||||
|
Repeat the `docker cp` and the reset after every mock change. Run the built jars (`target/`) and Vite:
|
||||||
|
|
||||||
|
- Auth: `java -jar target/auth-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=local --spring.docker.compose.enabled=false`
|
||||||
|
plus `--spring.datasource.url=jdbc:postgresql://tbp_auth_db_local:5432/tbp_auth`, `--spring.datasource.username=tbp_user`
|
||||||
|
and `--spring.datasource.password=local_secret_password`.
|
||||||
|
- Core: the same with `tbp_core_db_local` and `tbp_core`, plus `--app.steam.base-url=$M/steam`,
|
||||||
|
`--app.igdb.base-url=$M/igdb`, `--app.igdb.token-base-url=$M/twitch`, `--app.psn.auth-base-url=$M/psn/auth`,
|
||||||
|
`--app.psn.api-base-url=$M/psn` and `--app.speedrun.base-url=$M/speedrun`. `M` is `http://<mock container IP>:8080`
|
||||||
|
(`docker inspect tbp_core_mocks_local`): Java rejects the underscore in the container name.
|
||||||
|
- Frontend: `VITE_API_URL=http://localhost:8080 VITE_CORE_API_URL=http://localhost:8090 npx vite --port 5173`.
|
||||||
|
|
||||||
|
When done, stop the three processes and `docker rm -f` the three containers.
|
||||||
|
|
||||||
|
## Rules
|
||||||
|
|
||||||
|
- Only the demo persona may appear: name "Dev", Steam ID `76561198000000001`, the default avatar.
|
||||||
|
- Keep the file names. Keep each file below about 500 KB.
|
||||||
|
- Look at every image before you commit it.
|
||||||
|
|
||||||
|
## Data
|
||||||
|
|
||||||
|
The 30 games, their achievements and the profile are in `ToBePlayed-Core/local/wiremock`.
|
||||||
|
`LocalMocksParseTest` checks that the files fit the Core types and that every achievement stub belongs to an owned game.
|
||||||
|
After Width: | Height: | Size: 433 KiB |
|
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 458 KiB |