The challenge is to create a GraphQL endpoint that have these features:
- A seller can create shows with products and start it when ready
- A seller can successively start auctions on during the same show
- Any buyer should be able to bid and write comments
- Anyone should see the bids and comments in real time
The show process works like this:
- The seller prepare then starts the show.
- All buyers should then be able to bid during 1 minute.
- If a bid occurs during the last 15 seconds of the auction, the remaining time is reset to 15 seconds
- Each bid should update the clients with the current bit and the user who bid
- At the end of the auction, the winner should be announced to everyone
Stack used:
- 🦀 Rust x 🐘 PostgreSQL
- ⚡️ GraphQL x Subscriptions for real-time data
- 🎛️ Playground v2 to show how the system works
Architecture:
- CQRS x event-sourcing
- Auto-generated GraphQL API for read operations
- Custom mutations for write-operations (CRUD never fits)
- Schema-first approach
- Built-in security checks
The goal is to explore Postgres advanced concepts...
For any questions or suggestions, you can contact Cedric: [email protected]