Find a file
Wolvan e9aaedb494 Implement auto update
Every 5 seconds the system attempts to fetch the most recent vote state
of the poll and display it to the user.
2022-01-06 20:44:29 +01:00
.vscode Switch to ts-node-dev for debugging 2022-01-06 14:39:46 +01:00
frontend Implement auto update 2022-01-06 20:44:29 +01:00
src Implement auto update 2022-01-06 20:44:29 +01:00
test Initial commit 2021-12-28 21:11:19 +01:00
utils Initial commit 2021-12-28 21:11:19 +01:00
.editorconfig Initial commit 2021-12-28 21:11:19 +01:00
.eslintignore Initial commit 2021-12-28 21:11:19 +01:00
.eslintrc.json Initial commit 2021-12-28 21:11:19 +01:00
.gitignore Fix config loading of boolean values 2021-12-29 17:04:23 +01:00
.mocharc.json Initial commit 2021-12-28 21:11:19 +01:00
LICENSE Initial commit 2021-12-28 21:11:19 +01:00
package-lock.json Switch to ts-node-dev for debugging 2022-01-06 14:39:46 +01:00
package.json Switch to ts-node-dev for debugging 2022-01-06 14:39:46 +01:00
README.md Create results page 2022-01-06 19:52:53 +01:00
tsconfig.json Initial commit 2021-12-28 21:11:19 +01:00

Poll.horse

Simple polling service for public polls

With strawpoll being somewhat very broken I decided to implement my own. Let's go!

What is this

If you have never used strawpoll, in short this is a website to easily make small polls without a fuss.

Contributing

The core is written in TypeScript, a typed superset to Javascript and executed with NodeJS. Pull Requests welcome.

Before cloning this repository, make sure you have Node installed.

Then clone this repository, open a terminal/command prompt and type npm i to install the required dependencies.

ts-node is recommended to test during development manually, install it with npm i -g ts-node typescript.

Directory Structure

  • ./dist - The finalized and compiled files that can be used with node
  • ./src - The source files of the project
  • ./test - Files required for unit testing, aka test setup/teardown and test spec files
  • ./utils - Various utility scripts not part of the main source code

Scripts

Execute the scripts with npm run <script>

  • find-todo - Finds remaining TODO: in the code and warns the developer that there are still things that are unfinished
  • mocha - Runs the unit tests in the /test directory
  • lint - Runs eslint and checks for code styling problems
  • build - Compile the TypeScript Source to dist/
  • test - Runs lint, find-todo and mocha in order
  • debug - Start the ./src/main.ts with node and start the debugger on port 9229. Files will be watched for changes.
  • start - Run test and build, then try and execute the ./dist/main.js in the ./dist directory to test

Components

This project makes use of the following components. Thanks a lot to the respective creators: