2026-10-26 16:26:18 +01:00
2026-10-19 22:44:38 +02:00
2026-10-26 16:26:18 +01:00
2026-08-03 15:23:44 +01:00
2026-10-19 22:44:38 +02:00
2026-04-02 08:25:07 +02:00
2025-08-16 22:55:40 +02:00
2026-08-21 13:26:24 +02:00
2025-08-02 00:47:16 +02:00
2026-03-14 23:17:05 +01:00
2026-03-18 10:26:25 +01:00
2026-03-31 11:07:38 +02:00
2026-10-19 22:44:38 +02:00
2026-08-03 15:15:12 +01:00
2025-11-24 14:17:20 +01:00
2026-05-26 10:40:23 +02:00
2026-10-19 22:44:38 +02:00

Aplikacja List Zakupów

Aplikacja webowa do zarządzania listami zakupów z obsługą użytkowników, OCR paragonów, statystykami i trybem współdzielenia.

Wymagania

  • Docker

Instalacja

  1. Sklonuj repozytorium:

    git pull https://git.linuxiarz.pl/gru/lista_zakupowa_live.git
    cd lista_zakupowa_live
    
  2. Skonfiguruj .env z pliku .env.example

2.1 Uruchom: (pgsql)

bash deploy_docker.sh pgsql

2.2 Uruchom: (mysql)

bash deploy_docker.sh mysql

2.3 Uruchom: (sqlite)

bash deploy_docker.sh sqlite

2.3 Restart:

bash deploy_docker.sh pgsql restart
lub
bash deploy_docker.sh sqlite restart

Aplikacja będzie dostępna pod http://localhost:8000.

Domyślne dane logowania - konfigurowane z pliku .env

  • Główne hasło systemowe: admin
  • Admin: admin / admin123

Konfiguracja bazy danych

Obsługiwane silniki: sqlite, pgsql, mysql.

Ustaw DB_ENGINE oraz odpowiednie zmienne w .env:

Przykład dla PostgreSQL:

DB_ENGINE=pgsql
DB_HOST=db
DB_PORT=5432
DB_NAME=myapp
DB_USER=user
DB_PASSWORD=pass

CLI

Opis komend administracyjnych znajduje sie w pliku KOMENDY_CLI.txt.

Komendy CLI uruchamiamy wewnatrz kontenera aplikacji. Najwygodniej wejsc do katalogu projektu i wykonac polecenie przez docker compose exec app.

Przykladowe:

cd /opt/lista_zakupowa_live
docker compose -f docker/compose.yml exec app sh -c 'flask lists copy-schedule --source-list-id 393 --when "2026-03-22 11:30" --owner admin'

Dodatkowe przyklady:

docker compose -f docker/compose.yml exec app sh -c 'flask lists move --list-id 393 --when "2026-03-23 08:00"'

docker compose -f docker/compose.yml exec app sh -c 'flask lists rename --list-id 393 --title "Zakupy na poniedzialek"'

docker compose -f docker/compose.yml exec app sh -c 'flask lists create-from-template --template-id 7 --owner admin --when "2026-03-24 09:15" --title "Poranna lista"'

Uproszczenie UI i skalowanie

Interfejs korzysta z jednokolorowych, konturowych ikon SVG zapisanych lokalnie w shopping_app/static/icons/tabler/. Ikony są wykorzystywane także przez JavaScript (shopping_app/static/js/ui_icons.js). Nie wymagają CDN.

W .env można ustawić:

UI_SCALE=100

Obsługiwane wartości: 100 (domyślnie), 90, 80, 70. Pozostałe wartości są traktowane jako 100. Zmiana wymaga ponownego uruchomienia procesu Flask (np. odtworzenia kontenera aplikacji). Przy 100 globalne skalowanie nie jest włączane. Niższe wartości pomniejszają również tekst i obszary dotykowe, dlatego na telefonach rekomendowane jest 100.

Opcjonalnie: aby zastąpić dołączone konturowe SVG oryginalnymi plikami projektu Tabler Icons (licencja MIT), wykonaj przy dostępie do Internetu:

python _tools/sync_tabler_icons.py

Skrypt pobierze komplet oryginalnych ikon z repozytorium Tabler, odtworzy lokalny sprite.svg, bez wprowadzania zależności sieciowej w czasie działania aplikacji. Dołączone SVG mają spójny styl Tabler, ale bez uruchomienia tego skryptu nie należy traktować ich jako zweryfikowanych oryginalnych plików Tabler Icons.

Aktualizacja istniejącej instalacji: skopiuj zmodyfikowane pliki do katalogu projektu, zachowaj lokalne .env, a następnie odtwórz kontener app np.:

docker compose --env-file .env -f docker/compose.yml up -d --force-recreate app

Nie używaj trybu deploy skryptu deploy_docker.sh do wdrażania zmian tylko z rozpakowanego ZIP-a, ponieważ uruchamia on git pull i może nadpisać lokalny kod. Skalowanie przetestowano w Chromium; na innych silnikach oraz na fizycznych telefonach należy dodatkowo zweryfikować działanie modali i układ.

S
Description
No description provided
Readme
3.2 MiB
0 Stars 1 Watchers 0 Forks
v1.1.1
Latest
2026-04-01 19:28:41 +02:00
Languages
Python 33.3%
HTML 27.3%
JavaScript 20.4%
CSS 18.4%
Shell 0.4%
Other 0.2%