Test_DB / README.md
Antoni09's picture
Update README.md
89bea2e verified
|
raw
history blame
3.64 kB
---
title: Test DB
emoji: 🧾
colorFrom: indigo
colorTo: blue
sdk: docker
pinned: false
---
# Generator faktur
Repozytorium zawiera dwa sposoby wystawiania faktur:
1. prosta aplikacje CLI,
2. rozbudowany frontend/ backend, ktory generuje faktury w PDF.
## 1. Aplikacja CLI
Niewielkie narzedzie w Pythonie, ktore pomaga zebrac podstawowe dane i wystawic fakture z pojedyncza pozycja (usluga lub towar). Dane firmy zapisywane sa lokalnie w `invoice_data.json`, a kazda wygenerowana faktura trafia do katalogu `invoices/`.
## Wymagania
- Python 3.8 lub nowszy
## Pierwsze uruchomienie
```powershell
python invoice_app.py
```
1. Podaj dane firmy (nazwa, adres, NIP, numer konta).
2. Ustaw haslo, ktore bedzie wymagane przy kolejnych uruchomieniach.
Po zakonczeniu konfiguracji uruchom aplikacje ponownie, aby sie zalogowac i wystawic pierwsza fakture.
## Wystawianie faktury
```powershell
python invoice_app.py
```
1. Zaloguj sie haslem ustawionym wczesniej.
2. Podaj opis uslugi/towaru, ilosc oraz cene jednostkowa.
3. Opcjonalnie wpisz dane klienta.
Aplikacja automatycznie policzy kwote netto i zapisze fakture w katalogu `invoices/` jako plik tekstowy (np. `invoices/FV-20240101-120000.txt`). Dane faktury sa rowniez dopisywane do pliku `invoice_data.json`, dzieki czemu latwo przechowywac historie.
## 2. Aplikacja webowa (frontend + backend)
Interfejs przegladarkowy z serwerem REST (Flask), ktory przechowuje dane firmy oraz historie faktur w pliku `web_invoice_store.json`.
### Wymagania
- Python 3.8+
- Zainstalowany pakiet `Flask`
```powershell
python -m pip install -r requirements.txt
```
### Uruchomienie
1. Start serwera API oraz statycznego frontendu:
```powershell
python server.py
```
2. W przegladarce odwiedz `http://localhost:5000/`.
### Funkcje webowego generatora
- Pierwsze uruchomienie:
- konfiguracja danych sprzedawcy (nazwa, adres, kod pocztowy, miejscowosc, NIP, numer konta, haslo),
- dane przechowywane lokalnie na serwerze w `web_invoice_store.json`.
- Logowanie chronione haslem (token przechowywany w `sessionStorage` przegladarki).
- Panel po zalogowaniu:
- wyswietlenie danych sprzedawcy oraz mozliwosc edycji bezpośrednio z poziomu UI,
- formularz danych nabywcy z rozszerzonym adresem (ulica, kod pocztowy, miejscowosc, NIP),
- pole daty sprzedazy/wykonania uslugi (niezalezne od daty wystawienia),
- pozycje faktury z dynamiczna tabela: wprowadzamy cene brutto, wybieramy stawke VAT (23/8/5/0/ZW/NP), aplikacja automatycznie liczy cene netto, wartosc netto, VAT i brutto,
- obsluga pozycji zwolnionych (ZW) wraz z polem na podstawe prawna zwolnienia (wyswietlana na fakturze),
- podsumowanie stawek (np. 23% – X netto / VAT – Y, ZW – Z netto / VAT – 0) zamiast pojedynczej sumy netto,
- generowanie podgladu faktury oraz eksport do PDF w formacie A4 (NABYWCA po lewej, SPRZEDAWCA po prawej, tabela zgodna z nazewnictwem ustawy: „Cena jedn. netto”, „Wartosc netto (pozycja)”, „Stawka VAT”, „Kwota VAT (pozycja)”, „Wartosc brutto”).
- Historia faktur zapisywana jest po stronie serwera (ostatnie 200 dokumentow).
> **Uwaga:** do wygenerowania pliku PDF wykorzystywana jest biblioteka [jsPDF](https://cdnjs.com/libraries/jspdf) ladowana z CDN. Przegladarka musi miec dostep do internetu, aby pobrac skrypt.
### Reset danych webowych
Usun plik `web_invoice_store.json`, aby uruchomic konfiguracje od nowa (spowoduje to utrate historii faktur).
## Reset danych CLI
Jezeli chcesz rozpoczac konfiguracje od nowa, usun pliki `invoice_data.json` i katalog `invoices/` (uwaga: spowoduje to utrate historii wystawionych faktur).