cards for humanity
Find a file
2024-07-20 23:07:05 -04:00
client use workspaces 2024-07-20 23:00:19 -04:00
data fat 2024-04-07 06:09:14 -04:00
libcards use workspaces 2024-07-20 23:00:19 -04:00
server use workspaces 2024-07-20 23:00:19 -04:00
.gitignore add leptos future test client 2024-07-18 04:00:56 -04:00
CAH_PrintPlay2021-GameRules.pdf add rules 2024-04-07 01:01:55 -04:00
Cargo.lock use workspaces 2024-07-20 23:00:19 -04:00
Cargo.toml use workspaces 2024-07-20 23:00:19 -04:00
LICENSE license 2024-04-07 00:50:05 -04:00
readme.md test 2024-07-20 23:07:05 -04:00
tailwind.config.js use workspaces 2024-07-20 23:00:19 -04:00
Trunk.toml use workspaces 2024-07-20 23:00:19 -04:00

Cards For Humanity

A game master server for the popular game Cards Against Humanity using data from Chris Hallberg's project JSON Against Humanity (everyone say "Thanks, Chris!")

This started as a problem trying to play games with friends who are all on different platforms. This shall be as cross-platform as it gets. I want it to work on anything that can establish a connection and allow anyone to write any front-end they can dream up whether it be a web page, chat bot, VR, etc. Any clients who share a master server can play together across any platform.

Test/Dev:

Server

With auto-reload:

watch -i client -cx run


Without auto-reload:
* `cargo run`

### Client
* [Install Trunk](https://trunkrs.dev/#install)
* `trunk serve --open`

## Build:

### Client
* `trunk build --release`

### Server
* `cargo build`

--
* The server automatically serves the built client from `/dist` at `0.0.0.0:3030`

* Configure any custom clients to connect to `ws://localhost:3030/websocket`


## TODO:
* figure out auth
* finish game logic
* support card text editing
* prevent import of cards that have been seen already and edited
* handle duplicates
* use db
* efficiency
* make demo clients for multiple platforms and screens