Test_DB / README.md
Antoni09's picture
Upload 10 files
9c4e7c0 verified
metadata
title: Test DB
emoji: 🧾
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: false

Generator faktur

Projekt oferuje dwa sposoby tworzenia faktur: prostą aplikację CLI oraz rozbudowany panel webowy z backendem Flask i estetycznym PDF-em.

Co w środku?

  • CLI – szybkie narzędzie terminalowe do pojedynczych dokumentów.
  • Frontend + backend – logowanie, edycja danych firmy, inteligentny formularz nabywcy, historia faktur i eleganckie PDF-y z logo.

Aplikacja webowa

Wymagania

  • Python 3.8+
  • pip install -r requirements.txt
  • (opcjonalnie) NEON_DATABASE_URL – gdy ustawisz połączenie z bazą PostgreSQL/Neon, klienci i faktury są zapisywani w bazie zamiast w pliku.

Uruchomienie

python server.py
# aplikacja działa na http://localhost:5000

Funkcje

  • onboarding z konfiguracją firmy i logo,
  • logowanie z tokenem w sessionStorage,
  • edycja sprzedawcy i zarządzanie logo (PNG/JPG do 512 KB),
  • formularz nabywcy z wyszukiwarką (po nazwie lub NIP-ie, wyniki tylko z konta zalogowanego użytkownika),
  • dynamiczna tabela pozycji licząca netto/VAT/brutto oraz obsługę stawek 23/8/5/0/ZW/NP,
  • sekcja zwolnienia podatkowego i automatyczna nota prawna,
  • dashboard z filtrami dat, wykresem i historią ostatnich 200 faktur,
  • eksport PDF spójny z UI (logo nad sprzedawcą, kapsułki z sumami, czytelna tabela).

PDF-y generuje jsPDF ładowany z CDN – przeglądarka musi mieć dostęp do internetu.

Reset danych

  • tryb plikowy: usuń web_invoice_store.json, aby przejść onboarding ponownie,
  • tryb Neon: wyczyść tabele w bazie lub użyj nowej bazy.

Aplikacja CLI

Lekki kreator w terminalu zapisujący dokumenty do katalogu invoices/ i historię w invoice_data.json.

Uruchomienie

python invoice_app.py
  1. Przy pierwszym starcie wpisz dane firmy i ustaw hasło.
  2. Przy kolejnych startach logujesz się, uzupełniasz dane pozycji i (opcjonalnie) klienta.
  3. Utworzona faktura trafia do invoices/, a historia do pliku JSON.

Reset CLI

Usuń katalog invoices/ oraz plik invoice_data.json, aby rozpocząć od nowa (historia zostanie utracona).