2026-03-31 11:07:38 +02:00
2025-08-02 00:40:47 +02:00
2026-03-19 09:54:03 +01:00
2026-03-31 11:07:38 +02:00
2026-02-25 14:48:09 +01:00
2025-08-16 22:55:40 +02:00
2025-09-24 22:23:49 +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
2025-10-17 23:50:15 +02:00
2026-03-19 09:36:31 +01:00
2025-11-24 14:17:20 +01:00
2026-03-31 11:07:38 +02:00

Aplikacja List Zakupów

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

Główne funkcje

  • Logowanie i zarządzanie użytkownikami (admin/user)
  • Tworzenie list zakupów z pozycjami i ilością
  • Wgrywanie paragonów (podstawowa obsługa OCR)
  • Archiwizacja i udostępnianie list (publiczne/prywatne)
  • Statystyki wydatków z podziałem na okresy, statystyki dla użytkowników
  • Panel administracyjny (statystyki, produkty, paragony, zarządzanie, użytkowmicy)
  • Tokeny API administratora i endpoint do pobierania ostatnich wydatków
  • Ujednolicony UI formularzy, tabel i przycisków oraz drobne usprawnienia UX

Wymagania

  • Python 3.9+
  • Docker (opcjonalnie dla produkcji)

Instalacja lokalna (deweloperska)

  1. Sklonuj repozytorium:

    git pull https://git.linuxiarz.pl/gru/lista_zakupowa_live.git
    cd lista_zakupowa_live
    
  2. Utwórz i uzupełnij plik .env (zobacz .env example).

  3. Utwórz środowisko i zainstaluj zależności:

    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  4. Uruchom aplikację:

    flask --app app.py run
    

Deploy z Docker Compose - stack (zalecana)

  1. Skonfiguruj .env.

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

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

Domyślne dane logowania

  • 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"'

Uwagi:

  • daty przyjmuja format YYYY-MM-DD albo YYYY-MM-DD HH:MM
  • dla samej daty aplikacja ustawia godzine 08:00 UTC
  • identyfikator uzytkownika mozna podac jako login albo ID
  • komendy copy-schedule i duplicate-many kopiują pozycje i przypisane kategorie, ale nie kopiują wydatkow ani paragonow
Description
No description provided
Readme 2.8 MiB
v1.1.1 Latest
2026-04-01 19:28:41 +02:00
Languages
Python 34.1%
HTML 27.6%
JavaScript 18.9%
CSS 18.8%
Shell 0.4%
Other 0.2%