diff --git a/README.md b/README.md index 22e440a..0e4b6a7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,95 @@ -# DMS -Elektroniczny obieg dokumentów \ No newline at end of file +# 🧾 Podsumowanie aplikacji do zarządzania obiegiem dokumentów + +## 🏢 Cel aplikacji +System klasy BDO / BPM do zarządzania elektronicznym obiegiem dokumentów w firmie, z obsługą wielu typów dokumentów, działów, niestandardowych workflow, OCR oraz pełną integracją z LDAP i systemami zewnętrznymi. + +## 🧩 Główne funkcje + +### 1. LDAP – Logowanie i dane użytkownika +Logowanie użytkownika przez LDAP (np. AD). + +Pobieranie danych: +- Imię i nazwisko +- Login +- Email +- Dział i stanowisko +- Kierownik (DN) +- Lokalizacja biura + +### 2. Zarządzanie dokumentami +- Obsługa różnych typów dokumentów: faktury, umowy, pisma, wnioski. +- Dynamiczne formularze z custom fields (tworzone przez administratora). +- Dodawanie załączników (PDF, DOCX, JPG itd.). +- Dodawanie notatek wewnętrznych. +- Historia zmian: co, kiedy, przez kogo. + +### 3. Workflow (obieg dokumentu) +- Konfigurowalne etapy workflow: np. Spedytor → Kierownik → Administracja → Księgowość → Archiwum. +- Możliwość zdefiniowania różnych obiegów dla różnych działów lub typów dokumentów. +- Obsługa przekazywania dokumentu dalej, zatwierdzeń, komentarzy. + +### 4. Graficzny kreator workflow +- Interfejs typu drag & drop do tworzenia i edycji ścieżek workflow. +- Tworzenie etapów i przypisywanie ich do grup LDAP lub ról wewnętrznych. +- Walidacja połączeń między etapami. + +### 5. Powiadomienia e-mail +- Wysyłka e-maili przy zmianie etapu (np. "Dokument ID#203 oczekuje na Twoją akceptację"). +- Możliwość konfiguracji szablonów wiadomości. +- Obsługa SMTP z uwierzytelnieniem. + +### 6. OCR i przetwarzanie danych +- Automatyczny OCR (np. Tesseract, Google Vision API) dla zeskanowanych dokumentów. +- Wydobywanie danych z faktur, umów (np. NIP, kwoty, daty). +- Przechowywanie danych OCR w bazie, możliwość ich edycji. +- OCR inicjowany automatycznie po przesłaniu dokumentu. + +### 7. Pobieranie dokumentów +- Podgląd dokumentu w przeglądarce (PDF.js, embed). +- Możliwość pobrania dokumentu oryginalnego i wersji z OCR. +- Logowanie kto i kiedy pobrał dokument (dla audytu). + +### 8. REST API +Bezpieczne API z tokenami (Authorization: Bearer ...) + +Endpointy: +- `GET /documents` – lista dokumentów +- `POST /documents` – dodanie dokumentu +- `GET /document/{id}` – szczegóły +- `GET /document/{id}/history` – historia zmian +- `GET /workflow` – definicje obiegów + +API dla integracji z systemem ERP, archiwum zewnętrznym, SAP itp. + +## 🗃️ Struktura danych +Tabele główne: +- `users` – dane użytkowników z LDAP +- `documents` – metadane dokumentów +- `document_files` – załączniki +- `document_fields` – custom fields +- `workflows` – definicje obiegów +- `workflow_steps` – etapy +- `document_history` – logi zmian +- `notes` – notatki +- `ocr_data` – dane z OCR + +## 💻 Technologie +- PHP 8.1+, PDO, Composer +- Bootstrap 5.3.3, JavaScript (opcjonalnie Vue.js) +- LDAP (autoryzacja, dane użytkownika) +- Tesseract OCR lub zewnętrzne API (np. Google Vision) +- PDF.js do podglądu dokumentów +- MySQL / PostgreSQL jako baza danych +- PHPMailer do powiadomień + +## 🔐 Bezpieczeństwo +- Autoryzacja oparta na LDAP i/lub JWT +- Uprawnienia per etap i typ dokumentu +- Logi audytowe każdej akcji +- Filtracja i walidacja danych użytkownika + +## 🧠 Możliwości rozwoju +- Podpisy elektroniczne +- Aplikacja mobilna (PWA lub natywna) +- Dashboard BI z analizą ilości dokumentów, czasu przetwarzania itd.