hs3-baza-zasobow-dashboard/README.md

65 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

# 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.
2026-04-16 13:53:01 +00:00
## Uruchomienie połączenia z drukarką etykiet
Potrzebne, by działał przycisk w kolumnie `print`. Po kliknięciu, nastąpi próba połączenia się z drukarką Brother PT-E550W, pod adresem IP zdefiniowanym w `PRINTER_IT`, w celu wydruku naklejki z kodem QR.
2026-03-24 15:39:18 +01:00
```bash
uv venv --python 3.11
source .venv.bin/activate
uv sync
fastapi dev --port 31337 labeler/adapter/fastapi_srv.py
2026-04-16 13:53:01 +00:00
export PRINTER_IT=192.168.0.147
```
W razie problemów, spróbuj alternatywnych komend:
```bash
source .venv/Scripts/activate
uv run -- fastapi dev --port 31337 labeler/adapter/fastapi_srv.py
2026-03-24 15:39:18 +01:00
```
## 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
```
2026-02-03 21:24:47 +01:00
## 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
2026-02-03 21:24:47 +01:00
- [Discourse REST API](https://docs.discourse.org/)
2026-04-16 13:53:01 +00:00
- [hbrylkowski/labeling_bot](https://github.com/hbrylkowski/labeling_bot)