Tax Assistant to aplikacja webowa wspierana przez sztuczną inteligencję, która pomaga użytkownikom w wypełnianiu formularza PCC-3, wymaganego do zgłoszenia podatku od czynności cywilnoprawnych w Polsce. Aplikacja jest w pełni zintegrowana z OpenAI (GPT-4) i obsługuje wielojęzyczne interakcje z użytkownikami, generując gotowe pliki XML na podstawie wprowadzonych danych.
- Interaktywny Chatbot AI: Chatbot prowadzi użytkownika przez proces wypełniania formularza PCC-3, zbierając niezbędne dane.
- Generowanie XML: Na podstawie danych zebranych przez chatbota, aplikacja generuje dokument XML zgodny ze schematem XSD.
- Komunikacja w czasie rzeczywistym: Wykorzystanie WebSocket (Socket.IO) do komunikacji między backendem a frontendem.
- Dockerized: Aplikacja jest w pełni zdockerowana, co umożliwia łatwe wdrażanie i uruchamianie na różnych platformach.
- Backend: Flask (Python), SQLAlchemy, Flask-SocketIO, Flask-CORS
- Frontend: React (Node.js)
- AI: OpenAI GPT-4
- Baza danych: SQLite
- Konteneryzacja: Docker
- Inne: WebSockets, REST API, Webpack
- Użytkownik odwiedza stronę aplikacji i rozpoczyna interakcję z chatbotem.
- Chatbot zadaje pytania dotyczące formularza PCC-3 i zbiera odpowiednie dane.
- Dane są zapisywane w lokalnej bazie danych SQLite.
- Po zebraniu wszystkich wymaganych informacji, aplikacja generuje plik XML zgodny z formatem PCC-3.
- Użytkownik może pobrać wygenerowany plik XML.
Aby uruchomić aplikację lokalnie:
-
Sklonuj repozytorium:
git clone https://github.com/your-username/Tax-Assistant.git cd Tax-Assistant
-
Zbuduj obrazy Dockera:
docker build -t tax-assistant .
-
Uruchom kontener:
docker run -p 5000:5000 tax-assistant
-
Otwórz przeglądarkę i wejdź na adres:
http://localhost:5000
Projekt jest zdockerowany, co oznacza, że możesz łatwo uruchomić aplikację na dowolnej platformie wspierającej Docker. Zarówno backend (Flask), jak i frontend (React) są zbudowane w jednym obrazie.
Dockerfile:
- Używa wieloetapowego buildu, aby najpierw zbudować aplikację frontendową React, a następnie zintegrować ją z backendem Flask.
Stwórz plik .env
w katalogu głównym projektu z następującymi zmiennymi środowiskowymi:
OPENAI_API_KEY=your_openai_api_key
FLASK_ENV=development
SECRET_KEY=your_secret_key
Aplikacja generuje plik XML na podstawie danych zebranych od użytkownika i zapisanych w bazie danych. Schemat XSD służy jako podstawa do walidacji i generowania poprawnych danych.
- Dodanie obsługi bardziej zaawansowanych formularzy podatkowych.
- Lepsza integracja z systemami rządowymi (np. ePUAP).
- Ulepszenie mechanizmów walidacji danych.
Projekt jest dostępny na licencji MIT.