Projektová dokumentácia: Zákaznícka zóna WordPress
1. Ciele projektu
Vytvoriť bezpečný klientsky portál pre obchodných partnerov spoločnosti SITEL umožňujúci:
-
Prístup k zmluvám a dokumentom
-
Správu oprávnených osôb
-
Nastavenie trvalého alebo dočasného vstupu
-
Zobrazenie a export zoznamu návštevníkov
-
Pokročilé vyhľadávanie
-
Role-based prístup pre rôzne typy užívateľov
2. Užívateľské role
SITEL
-
Administrátor
-
Pridávanie nových spoločností
-
Nastavenie prístupových kategórií (A, B, D) pre každú spoločnosť
-
Zadávanie emailov na notifikáciu pri vytvorení spoločnosti (viac emailov)
-
Limit: max 50 oprávnených osôb na spoločnosť
-
-
FLM
-
Pridávanie a editovanie oprávnených osôb pre existujúce spoločnosti
-
Nastavenie trvalého alebo dočasného vstupu (len pre kategóriu B)
-
-
Vrátnik
-
Nahlad na všetky spoločnosti a všetkých oprávnených užívateľov
-
Vyhľadávanie podľa mena, spoločnosti alebo kategórie
-
Zobrazenie: spoločnosť, meno + priezvisko, dátum narodenia, kategória, trvalý/docasny vstup
-
Pre dočasný vstup automatické farebné označenie aktívnych a expirovaných vstupov
-
Zákazník
-
Jedna rola: Administrátor spoločnosti
-
Pridávanie a editovanie nových návštevníkov
-
Export zoznamu oprávnených osôb na URL alebo CSV (bez dátumu narodenia)
-
Vyhľadávanie podľa mena, kategórie a trvalého/docasného vstupu
-
Nastavenie trvalého vstupu pre A, B, D
-
Nastavenie dočasného vstupu pre B (s dátumom od/do)
-
Limit: max 50 oprávnených osôb
-
3. Kategórie oprávnených osôb
|
Kategória |
Prístup |
|---|---|
|
A |
Trvalý vstup, správa zoznamu, sprevádzanie návštev, autorizácia tretích osôb |
|
B |
Trvalý alebo dočasný vstup (nastavenie dátumu), nakladanie so zariadeniami, sprevádzanie návštev |
|
D |
Trvalý vstup, samostatný vstup do technologického priestoru, nakladanie so zariadeniami, sprevádzanie návštev |
4. Funkcionalita portálu
4.1. Pre administrátora SITEL
-
Pridávanie spoločnosti:
-
Názov spoločnosti, IČO, DIČ, adresa, kontakty, zodpovedná osoba
-
Výber kategórií (A/B/D) pre zákazníka
-
Email notifikácia na viac adries po pridaní
-
-
Zoznam všetkých spoločností s počtom registrovaných osôb a limitom 50
4.2. Pre FLM
-
Pridávanie oprávnených osôb
-
Editovanie existujúcich osôb
-
Výber kategórie a typu vstupu (trvalý/dočasný)
-
Automatické farebné podfarbenie zoznamu podľa platnosti vstupu
4.3. Pre vrátnika
-
Prehľad všetkých spoločností a oprávnených osôb
-
Vyhľadávanie podľa mena, spoločnosti a kategórie
-
Zobrazenie: spoločnosť, meno + priezvisko, dátum narodenia, kategória, trvalý/docasný vstup
-
Farebné označenie aktívnych / expirovaných vstupov
4.4. Pre zákazníka
-
Pridávanie a editovanie návštevníkov
-
Export zoznamu na URL alebo CSV
-
Obmedzenie na max 50 oprávnených osôb
-
Trvalý vstup pre A/B/D, dočasný vstup len pre B
4.5. Ďalšie funkcie
-
Nové menu „Ukazovatele“: teplota, vlhkosť (doplnenie obsahu neskôr)
-
Silné heslá a 2FA (Google Authenticator alebo iný)
-
Pokročilé vyhľadávanie oprávnených osôb podľa mena a spoločnosti
-
Farebné vizualizácie dočasných vstupov: zelená – aktívne, červená – expirované
5. Databázová štruktúra
5.1. cp_companies
|
stĺpec |
typ |
popis |
|---|---|---|
|
id |
INT PK AI |
ID spoločnosti |
|
name |
VARCHAR(255) |
Názov spoločnosti |
|
ico |
VARCHAR(20) |
IČO |
|
dic |
VARCHAR(20) |
DIČ |
|
address |
VARCHAR(255) |
Adresa |
|
contact_person |
VARCHAR(255) |
Zodpovedná osoba |
|
contacts_email |
TEXT |
Viac emailov, oddelených čiarkou |
|
categories |
SET(‘A’,’B’,’D’) |
Povolené kategórie |
5.2. cp_users
|
stĺpec |
typ |
popis |
|---|---|---|
|
id |
INT PK AI |
ID návštevníka |
|
company_id |
INT FK |
ID spoločnosti |
|
first_name |
VARCHAR(100) |
Meno |
|
last_name |
VARCHAR(100) |
Priezvisko |
|
birth_date |
DATE |
Dátum narodenia |
|
category |
ENUM(‘A’,’B’,’D’) |
Kategória |
|
temporary_from |
DATE NULL |
Začiatok dočasného vstupu |
|
temporary_to |
DATE NULL |
Koniec dočasného vstupu |
|
permanent |
BOOLEAN |
Trvalý vstup |
|
|
VARCHAR(255) |
Email (pre login) |
|
user_role |
ENUM(‘customer’,’sitel_admin’,’flm’,’doorman’) |
Role systému |
|
created_at |
DATETIME |
Dátum vytvorenia |
|
updated_at |
DATETIME |
Dátum poslednej zmeny |
5.3. cp_documents
|
stĺpec |
typ |
popis |
|---|---|---|
|
id |
INT PK AI |
ID dokumentu |
|
company_id |
INT FK |
Spoločnosť |
|
file_path |
VARCHAR(255) |
Cesta k súboru na serveri |
|
name |
VARCHAR(255) |
Názov dokumentu |
|
uploaded_by |
INT FK |
ID používateľa |
|
uploaded_at |
DATETIME |
Čas nahrania |
5.4. cp_activity_log
|
stĺpec |
typ |
popis |
|---|---|---|
|
id |
INT PK AI |
ID logu |
|
user_id |
INT FK |
ID používateľa |
|
action |
VARCHAR(50) |
Typ akcie (pridanie, edit, login) |
|
object_type |
VARCHAR(50) |
Typ objektu (user, document) |
|
object_id |
INT |
ID objektu |
|
details |
TEXT |
Popis akcie |
|
ip_address |
VARCHAR(45) |
IP adresa |
|
user_agent |
VARCHAR(255) |
Browser info |
|
created_at |
DATETIME |
Čas akcie |
6. Technické riešenie
6.1. Plugin pre WordPress
-
Samostatný modul:
cp-client-portal -
Admin menu pre SITEL: spoločnosti, oprávnené osoby, dokumenty, ukazovatele, log
-
Frontend dashboard pre zákazníka:
-
CRUD návštevníkov
-
Export CSV
-
Vyhľadávanie
-
Vizualizácia aktívnych / expirovaných vstupov
-
6.2. Bezpečnosť
-
Silné heslá + 2FA
-
Role-based prístup
-
Šifrované uloženie hesiel (WordPress native)
-
Overenie súborov (pre dokumenty) a prístup na server
6.3. Frontend a UX
-
Jednoduchý dashboard: zoznam osôb, filtre, vyhľadávanie
-
Farebné označenie stavu vstupu
-
Limit zobrazenia: max 50 oprávnených osôb na spoločnosť
6.4. Export / Import
-
Export CSV / URL zoznamu oprávnených osôb (bez dátumu narodenia)
-
Možnosť filtrovania podľa kategórie, spoločnosti a trvalého/docasného vstupu
7. Menu Pluginu
SITEL Admin: - Spoločnosti - Oprávnené osoby (FLM) - Dokumenty - Ukazovatele - Aktivita Vrátnik: - Prehľad všetkých spoločností a osôb Zákazník: - Prehľad osôb - Pridanie / edit návštevníka - Export CSV / URL
8. Farebné označenie vstupu
-
Trvalý vstup (A/B/D): zelená
-
Dočasný vstup B (platný): zelená
-
Dočasný vstup B (expirovaný): červená / slabá
9. Limitácie
-
Max 50 oprávnených osôb na spoločnosť
-
Kategorie sú nastavené pri pridávaní spoločnosti
-
Export CSV neobsahuje dátum narodenia