Go to file
2024-03-22 17:11:24 +01:00
.idea format modal 2024-03-09 23:37:42 +01:00
.vscode mock answers 2024-03-07 20:53:35 +01:00
app Domino 13th 2024-03-22 17:11:24 +01:00
git_assets fix bug not showing % in table view, 2024-03-09 13:54:59 +01:00
public/avatars change content of sub pages, 2024-03-16 15:43:57 +01:00
utilities change yaml combiner messages a bit 2024-03-18 20:14:28 +01:00
.eslintrc.json inital commit, sub pages 2024-02-10 18:25:44 +01:00
.gitignore inital commit, sub pages 2024-02-10 18:25:44 +01:00
Dockerfile dockerfile 2024-03-07 20:52:14 +01:00
next.config.mjs replace json with yaml, 2024-03-13 17:25:40 +01:00
package-lock.json add safe space bottom padding so I can stay on screen 🥰 2024-03-20 18:33:52 +01:00
package.json add safe space bottom padding so I can stay on screen 🥰 2024-03-20 18:33:52 +01:00
postcss.config.js inital commit, sub pages 2024-02-10 18:25:44 +01:00
README.md readme update 2024-03-14 18:22:57 +01:00
tailwind.config.ts add safe space bottom padding so I can stay on screen 🥰 2024-03-20 18:33:52 +01:00
tsconfig.json split yamls, yaml combining engine (lol), adapt readme 2024-03-14 18:08:52 +01:00
types.d.ts replace json with yaml, 2024-03-13 17:25:40 +01:00

Latarnik Wyborczy 2025

Apka webowa w stylu Latarnika Wyborczego.

Screeny

Pytanie Wyniki

Jak odpalić

Jak każde inne apki w Node.js:

npm run dev
# lub
yarn dev
# lub
pnpm dev
# a jak jesteś fancy to
bun dev

Przed deploy też standardowo:

npm run build
# i potem
npm run start

Technologie

Zwyczajny projekt Next.js-a, więc React, TypeScript i Tailwind. Na deser Chart.js do wykresu i next-plugin-yaml do YAML-i (więcej niżej).

Dane

Przez małą ilość danych i niezbyt skomplikowane operacje na nich, zarówno kandydaci ze swoimi odpowiedziami, jak i same pytania, siedzą w @/app/data/. Są to zwykłe YAML-e, więc by dodać kolejne pytania wystarczy zaadaptować questions.yml, a by dodać kandydatów należy stworzyć nowy .yml w @/app/data/candidates na wzór innych.

candidates.yml jest budowane z osobnych plików przy odpaleniu dev oraz build (ogarnia to @/utilities/CombineYaml.js). Sama obsługa YAML-i żeby Next je rozpoznawał jest handlowana przez next-plugin-yaml (sprawdź next.config.mjs oraz types.d.ts).