Update README.md
This commit is contained in:
96
README.md
96
README.md
@@ -1,3 +1,95 @@
|
||||
# DMS
|
||||
|
||||
Elektroniczny obieg dokumentów
|
||||
# 🧾 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.
|
||||
|
||||
Reference in New Issue
Block a user