Postupy a obecné nároky na vývoj
Práce s GITem
Section titled “Práce s GITem”- Za standartní se považuje vytvářet nové featury, zpracovávat změny, aj. v samostatných vývojových větvích, standartně “
feature/[nazev_ticketu]”. - Všechny větve vycházejí z větve
dev - Zpět do větve
devse dostanou cestoumerge requestu - Z větve
devpo otestování mergujeme domaster - Deploy
mastervětve vyžaduje ruční potvrzení
Coding Standards
Section titled “Coding Standards”Naming Conventions
Section titled “Naming Conventions”- Models: Singular PascalCase (např.
User,QuizzEvent) - Controllers: PascalCase +
Controllersuffix (např.UserController) - Migrations: snake_case s časovým prefixem (např.
2024_01_01_000000_create_users_table) - Seeders: PascalCase +
Seedersuffix (např.UserRoleCompanySeeder) - Factories: PascalCase +
Factorysuffix (např.RegionFactory)
Database
Section titled “Database”- Tabulky: Plural snake_case s prefixem
chk_(např.chk_users,chk_regions) - Foreign keys:
{model}_id(např.country_id,region_id) - Pivot tabulky: Alphabetically ordered, singular (např.
chk_pub_user)
Seeders
Section titled “Seeders”- Všechny seedery musí být idempotentní (lze spustit vícekrát bez chyb)
- Používejte
updateOrCreate()místocreate()pro zajištění idempotence - Seedujte data v pořadí závislostí (Country → Region → City → Pub)
Testing
Section titled “Testing”- Unit testy používají SQLite in-memory databázi
- Feature testy používají MySQL testovací databázi
kviz_testing - Spouštějte testy v Docker kontejneru:
docker-compose exec -T fpm php vendor/bin/pest