64 lines
2.2 KiB
Markdown
64 lines
2.2 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 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.
|
|
|
|
```bash
|
|
uv venv --python 3.11
|
|
source .venv.bin/activate
|
|
uv sync
|
|
fastapi dev --port 31337 labeler/adapter/fastapi_srv.py
|
|
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
|
|
```
|
|
|
|
## 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/)
|
|
- [hbrylkowski/labeling_bot](https://github.com/hbrylkowski/labeling_bot)
|