Skip to content

Fuiz

Host live quizzes freely

Fuiz icon

License

About

The alternative to Kahoot with enhanced collaboration and problem-solving. Fuiz is a privacy-focused, open-source learning platform hosting user-generated quizzes. Instead of competition and memorization, we are committed to providing an accessible classroom tool that encourages teamwork and discussions.

Main Instance

Website is hosted at fuiz.org. We will keep providing this instance for free as long as we are able to.

Funding

Fund us at OpenCollective. Your funds are invaluable.

If you cannot donate, please share the word!

Translations

Fuiz is under heavy development so strings often keep getting changed and added. Nonetheless, if you want to add your translations, feel free to do so by creating a merge request adding your translation similar to en.json.

Contribution

If you want to contribute a non-trivial amount please create an issue first so we can collaborate more efficiently. At the moment I treat this repo as if I'm the solo developer. So expect stuff to be slightly janky.

Limits

Limits are configured in fuiz/game-backend/game/logic/src/settings.rs.

Self-Hosting

The easiest way to run your own instance is fuiz/self-hosted: a Docker Compose setup with the website, the game server, the image server, and Caddy for automatic HTTPS.

git clone https://gitlab.com/fuiz/self-hosted fuiz
cd fuiz
./generate_config.sh fuiz.example.com
docker compose up -d

See its README for configuration, updates, and backups.

Running from Source

Fuiz is made of three services: the website, the game server, and the image server (corkboard). Clone both repositories side by side:

git clone https://gitlab.com/fuiz/game-backend
git clone https://gitlab.com/fuiz/website

Game Backend

Requires Rust 1.88+. From game-backend/, run the game server (port 8080) and the image server (port 5040) in separate terminals:

cargo run -p fuiz-server
cargo run -p corkboard-server

Website

From website/, create .env.local pointing at the two servers:

PUBLIC_DISPLAY_PLAY_URL="localhost:5173"
PUBLIC_PLAY_URL="http://localhost:5173"
PUBLIC_BACKEND_URL="http://localhost:8080"
PUBLIC_WS_URL="ws://localhost:8080"
PUBLIC_CORKBOARD_URL="http://localhost:5040"

Then install dependencies and start it with the Node adapter, which stores everything locally instead of on Cloudflare:

bun install
ADAPTER=node bun run dev

Fuiz is now running at localhost:5173. See fuiz/website for optional features such as library publishing and Google Drive backups.

Pinned Loading

  1. website website Public

    mirror

    Svelte 10 5

  2. game-backend game-backend Public

    mirror

    Rust 19 3

Repositories

Showing 4 of 4 repositories

Top languages

Loading…

Most used topics

Loading…