Node Backend
The Abstract Play backend is a Serverless Framework service on AWS: Node.js Lambdas backed by a single DynamoDB table (abstract-play-{stage}). Most application logic lives in api/abstractplay.ts.
Documentation
- Architecture — Lambdas, request routing, key modules
- Database schema — DynamoDB record types (pk/sk catalog)
- Getting started — local build, credentials, dependencies
- Deployment — CI/CD, stages, Cognito essentials
API
- API overview —
query,authQuery,botQueryenvelopes - Public queries — unauthenticated RPC endpoints
- Auth queries — Cognito-authenticated endpoints
- Bot queries — M2M bot endpoints
Bot framework
- Bot framework — protocol, auth, registration, implementation
- Authentication
- Protocol
- Registration
- Implementation guide
Subsystems
- Games and moves
- Challenges
- Tournaments
- Events
- Bots — short overview (see Bot framework above)
- WebSockets
- Notifications
- Player blocking
Resources
- CHANGELOG — release history (repo root)
- Gameslib docs — rules engine used by move validation
- Renderer docs — board rendering (transitive dependency)
- Wiki bot RFC — original RFC (superseded by Bot framework docs here)
Query names and record field shapes are defined in TypeScript; these docs describe intent and patterns. When you add a query or record type, update /docs in the same PR.
Last verified against develop branch.