A web application to vote and rank ideas, e.g. for innovation challenges. Dev Deployment: https://dev.hosting170690.ae864.netcup.net/
  • TypeScript 65%
  • PHP 34.6%
  • Blade 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2023-04-13 12:49:31 +00:00
.husky Fix/main 2023-04-13 12:49:31 +00:00
app Fix/main 2023-04-13 12:49:31 +00:00
bootstrap inital setup 2021-10-22 15:57:33 +02:00
config Fix/main 2023-04-13 12:49:31 +00:00
database Fix/main 2023-04-13 12:49:31 +00:00
public Fix/main 2023-04-13 12:49:31 +00:00
resources Fix/main 2023-04-13 12:49:31 +00:00
routes Fix/main 2023-04-13 12:49:31 +00:00
storage inital setup 2021-10-22 15:57:33 +02:00
tests Fix/main 2023-04-13 12:49:31 +00:00
types Fix/main 2023-04-13 12:49:31 +00:00
.editorconfig inital setup 2021-10-22 15:57:33 +02:00
.env.example Fix/main 2023-04-13 12:49:31 +00:00
.env.testing Fix/main 2023-04-13 12:49:31 +00:00
.gitattributes inital setup 2021-10-22 15:57:33 +02:00
.gitignore Fix/main 2023-04-13 12:49:31 +00:00
.gitlab-ci.yml Fix/main 2023-04-13 12:49:31 +00:00
.prettierignore Fix/main 2023-04-13 12:49:31 +00:00
.prettierrc.json Fix/main 2023-04-13 12:49:31 +00:00
.styleci.yml inital setup 2021-10-22 15:57:33 +02:00
artisan inital setup 2021-10-22 15:57:33 +02:00
composer.json Fix/main 2023-04-13 12:49:31 +00:00
composer.lock Fix/main 2023-04-13 12:49:31 +00:00
docker-compose.yml Fix/main 2023-04-13 12:49:31 +00:00
LICENSE feat: add license file 2022-09-16 14:29:28 +00:00
package-lock.json Fix/main 2023-04-13 12:49:31 +00:00
package.json Fix/main 2023-04-13 12:49:31 +00:00
phpunit.xml inital setup 2021-10-22 15:57:33 +02:00
README.md Fix/main 2023-04-13 12:49:31 +00:00
server.php inital setup 2021-10-22 15:57:33 +02:00
tailwind.config.js Fix/main 2023-04-13 12:49:31 +00:00
tsconfig.json Fix/main 2023-04-13 12:49:31 +00:00
webpack.mix.js Fix/main 2023-04-13 12:49:31 +00:00
yarn.lock Fix/main 2023-04-13 12:49:31 +00:00

voting-tool

This is a web application to vote and rank ideas which can be submitted by users. This platform can be used to host "innovation challenges". It is based on an existing, older platform called Voodle.

Features:

  • Voting according to the swiss system the app always presents pairs of two ideas from which the user can pick their favorite
  • Supports multiple, independent challenges at the same time
  • Registered users can submit their ideas for each challenge and describe it with Markdown and upload their own pictures
  • Voting is accessible for guests (without user account)
  • Users can comment on other ideas
  • E-Mail notifications for important events (submission was approved, comment received, etc.)
  • Ideas can be moderated/need to be approved before they will be publicly visible

Tech Stack

This application is a classical "three tier" web application: it consist of a JavaScript frontend (running in the browser), a PHP backend and a relational database (both running on the server). We use the following technologies:

  • PHP Backend: Laravel & Inertia
  • Database: MySQL
  • Frontend: React & TailwindCSS

Local/Development setup via Docker

  1. Clone the repository and make sure your Docker is running
  2. Install composer dependencies either by running composer install (if you have Composer installed locally) or by running docker run --rm -u "$(id -u):$(id -g)" -v $(pwd):/var/www/html -w /var/www/html laravelsail/php81-composer:latest composer install --ignore-platform-reqs
  3. Run ./vendor/bin/sail up in the repo folder to start the backend
  4. Run yarn install to install all dependencies from the package.json
  5. Run yarn run hot to start the frontend

To seed fresh data, run:

./vendor/bin/sail artisan migrate:fresh --seed

The default admin user is innovation@fabcity.hamburg and the default password is test1234.

References

  • All Auth-related Controllers are generated via Breeze (Laravel Starter Kit)