Spaces:
Sleeping
Sleeping
| 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). | |