Skip to content

CodeF53/inhumane-cards

Repository files navigation

Inhumane Cards (Cards Against Humanity Online)

Pretend You're Xyzzy (online Cards Against Humanity), but not garbage.

About:

Made by F53 for Software Dev School Final Project

Backend: Ruby on Rails

Frontend: React.js

TODO:

Backend:

  • Minimum Viable Database
  • Backend game logic clock
  • Don't let game start with < 3 players
  • Fix wrong person getting points
  • Automatically kick players that haven't had a get /game_state fetch in 30 seconds
  • Automatically close empty games
  • Randomize Pick/Result phase card order
<iframe width="400" height="275" src='https://dbdiagram.io/embed/63506e9047094101959cbd7f'> </iframe>

Frontend:

  • Home Page
  • Log In / Sign Up
  • Game Find
  • Create Game
  • Game
    • Lobby/Over
    • Submit
    • Pick
    • Result
  • Make stuff look good
    • Game Controls Menu
    • Front Page
    • Lobby Select Screen
    • Lobby Create Screen
    • User Create Screen
    • <input> elements
  • Extra pages
    • About
    • Dev contact
    • Legal
    • Credits
  • Waiting on user
  • Sound Effects
  • Settings
    • Force Desktop/Mobile rendering
    • Random card rotation intensity (3 people have asked for this so far)
    • Enable/Disable SFX

General:

  • Fix submitted/picked_card_index not resetting
  • Leave Game
  • Kick/Promote
  • Allow picking card packs
    • add pack to card seeding
    • add category to card seeding
      • categories.json (this took me 2 hours aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
  • Discard mode, let users discard one card per turn
  • Auto-Leave game after loss of connection
  • Automatically rejoin active game
  • Auto-Kick users that aren't in the game anymore
    • Fix edge cases
  • Support for cards with card.pick > 1

Future Stretch Goals":

  • HTTPS
  • Migrate to ActionCable for GameState
  • Switch to Next.js
  • Custom Card Packs (for inside jokes and the like)

Is this legal?

Cards Against Humanity® is distributed under a Creative Commons BY-NC-SA 4.0 license.