A card game engine API written in AspNet Core.
Inspired by https://deckofcardsapi.com/ (https://github.com/crobertsbmw/deckofcards written in python). This project is to create an open source AspNet Core engine.
- Contribution guidelines
- Production setup
Contributions are super welcome!
- Database migrations are applied automatically in Startup via StartupHelper
- To generate migrate script, call
dotnet ef migrations add Your_new_migration_name
- Plumbing with EntityFramework (using Mysql)
- Add sql indexes on fields we search on
- Ensure Ace has value 14 in Shithead
- Auto-draw card if less than 4 cards in hand and deck still have cards
- Block shithead moves when not all players are Accepted
- Handle DomainException in middleware
- Add DelayMiddleware for development
- Ordering by .Updated and ThenBy .Id is not super robust, see
DefaultCardOrdering
- When skip card is played it should calculate correct next player
- Setup swagger/Swashbuckle
- Create deck (shuffled, not shuffled, multiple decks, jokers)
-
Card images- removed from backend, the frontend can take care of this - Draw from deck
- Shuffle deck
- Create partial deck
- Create pile (discarding, player hands)
- Shuffle pile
- List cards in pile
- Draw from pile (top, bottom, random)
- Rules engine (to implement games)
- Realtime updates (SignalR)
- Deal with all
throw new NotImplementedException()
- TODO comments
- Shithead
- Rummy