Reguly budowania CRM TN2 1. Najpierw ustal aktywny kod. W tym projekcie sa kopie robocze, snapshoty i archiwa; zrodlem prawdy sa aktywne pliki ladowane przez public/index.php. 2. Zmiany rob minimalnie i punktowo. Dodawaj tylko to, czego dotyczy zadanie: kontroler, widok, trase, migracje albo wpis menu. Nie poprawiaj przy okazji niespokrewnionych miejsc. 3. Nie nadpisuj cudzych zmian. Gdy plik jest zmieniony, czytaj go przed edycja i dopasuj patch do aktualnego stanu. 4. Trzymaj sie istniejacych wzorcow CRM: kontrolery w src/Controllers, widoki Twig w templates, trasy w config/routes, wspolne elementy w partialach i makrach. 5. Formularze zapisujace dane musza miec CSRF. Dla stron admina uzywaj Auth::requireAdmin(); dla szerszego dostepu korzystaj ze sprawdzonych mechanizmow Auth/FeatureAccess. 6. Dla ustawien prostych preferuj tabele settings przez SystemTn2\Core\Settings. Dla danych relacyjnych uzywaj jawnych tabel i migracji. 7. UI ma byc roboczy, skanowalny i zgodny z reszta systemu. Bez landing page'y, ozdobnikow i przebudowy stylu, jezeli zadanie dotyczy narzedzia administracyjnego. 8. Jesli element UI istnieje juz w innym module, uzyj tego samego wzorca zamiast tworzyc nowy wariant. 9. Nowy plik PHP w src na produkcji wymaga sprawdzenia autoloadu i zwykle composer dump-autoload -o. 10. Wdrozenie produkcyjne rob przez /tmp i atomowe mv. Przed podmiana zrob backup aktywnych plikow poza public_html, najlepiej w iap-backups. 11. Po zmianie sprawdz minimum: php -l dla zmienionych plikow PHP, obecnosc trasy/linku, kod HTTP konkretnego URL-a i brak 404/500. 12. Jezeli wynik na system.tn2.pl nie zgadza sie z lokalnym kodem, najpierw sprawdz aktywna sciezke na serwerze, aktywny routes-admin.php, aktywny kontroler i cache/autoload. 13. Dane biznesowe sa wazniejsze niz wyglad. Nie ukrywaj informacji, nie zmieniaj znaczenia statusow/etykiet i nie usuwaj historii bez jasnego polecenia. 14. Kazda decyzja techniczna ma byc odwracalna: mala zmiana, backup, jasny URL testowy i mozliwosc szybkiego cofniecia. --- Materialy wizualne ze strony Wzorce CRM Pelna strona wzorcow UI (wymaga logowania): https://system.tn2.pl/ustawienia/wzorce 1. Wzorzec naglowka administracyjnego: pasek dostepu URL: https://system.tn2.pl/ustawienia/wzorce#wz-admin-header Co asystent powinien wiedziec: - To jest standardowy naglowek dla stron administracyjnych CRM. - Lewa strona zawiera tytul strony i opcjonalny kontekst/breadcrumb. - Prawa strona zawiera akcje: najwazniejsza akcja jako niebieski przycisk, powrot do panelu admina jako przycisk obrysowany. - Uklad ma uzywac flex-wrap i gap, zeby nie rozsypal sie na waskich ekranach. - Referencja produkcyjna: https://system.tn2.pl/ustawienia/zmiany 2. Wzorzec uprawnien: skrzynki w wierszach, 4 kolumny uprawnien URL: https://system.tn2.pl/ustawienia/wzorce#wz2 Co asystent powinien wiedziec: - To jest referencja dla macierzy dostepow i uprawnien. - Wiersz = skrzynka lub zasob. - Kolumny = Czyta, Wysyla, Zarzadza, Usuwa. - Klik zapisuje od razu przez AJAX, a zielony blysk potwierdza zapis. - Przy kazdej kolumnie moze byc akcja "zaznacz wszystkie". 3. Wzorzec skalowania: osobne kafelki per user URL: https://system.tn2.pl/ustawienia/wzorce#skalC Co asystent powinien wiedziec: - Kazdy user ma osobna karte z wlasna tabela uprawnien. - Uklad ma byc czytelny przy kilku-kilkunastu userach. - Preferowany jest prosty pionowy scroll zamiast ukrywania danych. - CSS grid auto-fit odpowiada za responsywne ulozenie kafelkow. 4. Edytowalne reguly CRM URL: https://system.tn2.pl/ustawienia/wzorce#reguly-crm Co asystent powinien wiedziec: - To pole jest zrodlem tekstu w tym pliku TXT. - Po zmianie i zapisie tekst w /crm-reguly.txt aktualizuje sie automatycznie. Uwaga: W aktualnym szablonie Wzorcow nie ma osobnych plikow obrazow; wzorce sa wklejone jako zywe przyklady HTML na stronie. Ten TXT opisuje je tekstowo i podaje kotwice do konkretnych fragmentow. Gdy dodamy prawdziwe obrazy lub screenshoty, nalezy dopisac tutaj ich publiczne URL-e.