Artifact content
Public source: github.com/pyavchik/slotsone
This artifact demonstrates hands-on understanding of client-server architecture, web-application interaction, and supporting web technologies through a real full-stack project.
- Frontend: Vite, React, TypeScript, PixiJS
- Backend: Node.js, Express API, Zod-based contracts, Swagger / OpenAPI
- Database: PostgreSQL 16+
- Auth: JWT bearer authentication with RS256
- Support tooling: Docker Compose, Postman collection, generated API types, contract tests
The repository makes the client/server split explicit. The frontend renders the game UI and communicates with the backend over HTTP, while the backend owns business logic, API responses, auth, contracts, and persistence. The README and architecture docs also describe that the slot outcome is computed on the server, while the client only animates the already-determined result.
- API contract source of truth: openapi.ts
- Runtime request/response schemas: gameContract.ts
- Contract verification: apiContract.test.ts
- Architecture overview: SLOT_ARCHITECTURE.md
For QA, this matters because it helps explain where a defect lives: UI rendering, client state, request format, API contract, authorization, backend logic, or database persistence. This project is therefore useful portfolio evidence not only of testing, but of understanding how modern web applications are structured and how client and server interact.