hs3-baza-zasobow-dashboard/README.md
Piotr Gaczkowski cebafd3cec
Some checks failed
MegaLinter / MegaLinter (pull_request) Has been cancelled
Update website / update (pull_request) Has been cancelled
feat: Add basic frontend
2026-04-16 14:59:07 +02:00

54 lines
1.7 KiB
Markdown

# HS3 Baza zasobów Dashboard
Skrypt, który generuje podsumowanie [Bazy Wiedzy zasobów Hackerspace Trójmiasto](https://kb.hs3.pl/docs) w formie statycznej strony internetowej.
## Uruchomienie
```bash
uv venv --python 3.11
source .venv.bin/activate
uv sync
fastapi dev --port 31337 labeler/adapter/fastapi_srv.py
```
## Sposób działania
1. Baza Wiedzy znajduje się na Discourse Hackerspace Trójmiasto i jest dostępna publicznie. Projekt wykorzystuje Discourse REST API do pobrania listy zasobów.
1. Lista zasobów zapisana jest w pliku csv `zasoby.csv`.
1. Skrypt tworzy statyczną stronę internetową na podstawie pliku `.csv`.
1. Strona jest hostowana przy pomocy GitHub Pages.
## Możliwości generatora bazy zasobów csv
- pobieranie listy wszystkich zasobów z wybranej kategorii
- pobieranie ID, tagów i treści posta każdego zasobu
- wyłuskanie z treści posta informacji:
- nazwa przedmiotu
- miejsce zamieszkania
- ilość
- opiekunowie
- oto jak powinien wyglądać ostateczny wpis:
```
ID, nazwa, miejsce, ilość, opiekunowie, tagi
```
## Automatyczna aktualizacja
Żeby działały automatyczne aktualizacje przy użyciu GitHub Actions należy w sekretach dodać sekret o nazwie `PAT` którego wartością jest Personal Access Token z uprawnieniami do modyfikowania repozytorium.
## Możliwości dashboard'u
- filtrowanie bazy zasobów po tagach
- sortowanie alfabetyczne bazy zasobów po dowolnej kolumnie
- linki do zasobu na Discourse w ID zasobu
- łatwa zmiana ilości kolumn dashboardu
## Co chcę dodać w przyszłości
- wizualizacja statystyk z bazy zasobów
- generowanie drugiego pliku csv służącego do wygenerowania naklejek z kodem QR
## Dokumentacja
- [Discourse REST API](https://docs.discourse.org/)