Przejdź do treści

🏗️ Architektura Systemu

Ten przewodnik opisuje architekturę systemu Panel Księgowy na wysokim poziomie.


📚 Spis treści


🎯 Kluczowe koncepcje

Multi-tenancy

System używa virtual tenant isolation - każdy zespół (Team) ma izolowaną bazę danych logicznie, ale fizycznie wszystkie dane są w jednej bazie PostgreSQL z filtrowaniem po team_id.

Team-based URLs

Wszystkie URL-e biznesowe są w kontekście zespołu:

/a/<team_slug>/<module>/<action>/

BaseTeamModel

Wszystkie modele biznesowe dziedziczą po BaseTeamModel, który automatycznie: - Dodaje pole team (ForeignKey do Team) - Filtruje zapytania po team - Zapewnia izolację danych


🏗️ Warstwy architektury

Frontend Layer

  • HTMX - Interakcje z backendem
  • Alpine.js - Interakcje po stronie klienta
  • Tailwind CSS 4 - Framework CSS
  • DaisyUI - Komponenty UI

Application Layer

  • Django 5.2 - Framework backendowy
  • Function-based views - Preferowane nad CBV
  • Django ORM - Warstwa dostępu do danych
  • Celery - Asynchroniczne zadania

Data Layer

  • PostgreSQL - Baza danych główna
  • Redis - Cache i message broker
  • File Storage - Przechowywanie plików

📚 Więcej informacji


Ostatnia aktualizacja: 2025-11-29
Wersja dokumentacji: 1.0