Skip to content

Postupy a obecné nároky na vývoj

  • 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 dev se dostanou cestou merge requestu
  • Z větve dev po otestování mergujeme do master
  • Deploy master větve vyžaduje ruční potvrzení
  • Models: Singular PascalCase (např. User, QuizzEvent)
  • Controllers: PascalCase + Controller suffix (např. UserController)
  • Migrations: snake_case s časovým prefixem (např. 2024_01_01_000000_create_users_table)
  • Seeders: PascalCase + Seeder suffix (např. UserRoleCompanySeeder)
  • Factories: PascalCase + Factory suffix (např. RegionFactory)
  • 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)
  • Všechny seedery musí být idempotentní (lze spustit vícekrát bez chyb)
  • Používejte updateOrCreate() místo create() pro zajištění idempotence
  • Seedujte data v pořadí závislostí (Country → Region → City → Pub)
  • 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