2.6 KiB
2.6 KiB
Krok 01 - Inicializácia projektu a základná štruktúra
Kontext projektu
WebWizard je AI website concierge (MVP), ktorý umožňuje používateľom vytvoriť statický web prostredníctvom wizardu. Projekt využíva PHP 8.2, JSON súbory pre ukladanie dát, Vanilla JavaScript a lokálne DAIAPI pre generovanie obsahu. Celá architektúra je postavená na jednoduchosti bez externých frameworkov.
Pred implementáciou si preštuduj
docs/mvp.md- Celkový rozsah a ciele MVP.docs/architecture.md- Definícia adresárovej štruktúry a technologického stacku.
Cieľ
Vytvoriť základnú adresárovú štruktúru projektu a zabezpečiť ochranu citlivých dát v priečinku data/. Nastaviť základný autoloading pre PHP triedy v src/.
Požadované zmeny
- Vytvorenie adresárovej štruktúry podľa
architecture.md. - Vytvorenie
composer.jsonso základným nastavením PSR-4 autoloadingu pre menný priestorApp\\v priečinkusrc/. - Vytvorenie
.htaccessv koreňovom adresári (alebo konfigurácia servera), ktorá zakáže priamy prístup do priečinkadata/.
Implementačné pravidlá
- Nepoužívaj žiadne externé knižnice v
composer.jsonokrem vývojových nástrojov, ak sú potrebné. - Adresárová štruktúra musí presne zodpovedať
architecture.md. data/priečinok musí byť neverejný.
Súbory ktoré je potrebné vytvoriť
data/users/.gitkeep(a podobné pre ostatné podadresáre v data/)data/projects/data/consent/data/llm/data/admin/exports/src/public/composer.json.htaccess(v koreni projektu)data/.htaccess(na zablokovanie prístupu)
Súbory ktoré je potrebné upraviť
Žiadne (inicializácia nového projektu).
API a dátové štruktúry
V tomto kroku sa nedefinujú API endpointy.
Frontend požiadavky
Nerelevantné pre tento krok.
Backend požiadavky
- PHP 8.2.
- PSR-4 autoloading.
Testovací scenár
- Spusti
composer dump-autoloada over, či nevznikli chyby. - Pokús sa v prehliadači pristúpiť na
http://localhost/data/(alebo ekvivalent) a over, či dostaneš 403 Forbidden. - Over, či existujú všetky požadované adresáre.
Definition of Done
- Adresárová štruktúra je vytvorená.
- Autoloading z
src/funguje. - Priečinok
data/je chránený pred priamym prístupom z webu.
Obmedzenia
- Nepridávaj žiadne frameworky (Laravel, Symfony, atď.).
- Nepridávaj databázu.
Výstup
- zoznam vytvorených súborov
- zoznam upravených súborov
- stručné zhrnutie vykonaných zmien
- prípadné otvorené problémy