Skip to content

Polyhoot/web

Repository files navigation

Polyhoot! Web client

Polyhoot! Logo

Main web application for Polyhoot! game. Used for creating packs and hosting games

For demo visit polyhoot.ciphen.net

Features

  • Selfhosting available
  • Import questions directly from Kahoot
  • Create your own packs
  • Host a game for android and web clients

Tech

We use a number of open source projects to work properly:

  • TypeScript - TypeScript is a strongly typed programming language that builds on JavaScript
  • ReactJS - JavaScript library for building user interfaces.
  • Grommet - grommet is a react-based framework & components library
  • nanostores - A tiny state manager for React
  • Webpack - Webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser

And of course Polyhoot! itself is open source with a public repository on GitHub.

Installation

Polyhoot! requires Node.js v12+ to run. Latest LTS is recommended! It also requires Yarn.

Install the dependencies and devDependencies and start the server.

Change getSocketUrl.ts and getServerUrl.ts.

cd web
yarn
yarn build

Development

Want to contribute? Great!

Make a change in your file and instantaneously see your updates!

Open your favorite Terminal and run this commands.

yarn start

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode.
Open https://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

License

Apache License 2.0

Free Software, Hell Yeah!