Test_DB / README.md
Antoni09's picture
Upload 10 files
9c4e7c0 verified
---
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
```powershell
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](https://cdnjs.com/libraries/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
```powershell
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).