مقاله

قبل از اولین commit: Git، .env، معماری، coding standard، CI، backup و تصمیم‌های فنی که در هفته اول ارزان‌اند و در ماه ششم گران.

چک‌لیست قبل از شروع پروژه Laravel — ۲۵ نکته که بعداً حسرت نمی‌خورید

چک‌لیست قبل از شروع پروژه Laravel — ۲۵ نکته که بعداً حسرت نمی‌خورید

عجله برای نوشتن Controller اول، بعداً با refactor هزینه‌دار جبران می‌شود. در پروژه‌های بیمه و فروشگاهی دیده‌ام تیمی که هفته اول Git و naming را رعایت نکرده، ماه چهارم نمی‌تواند feature امن deploy کند. این چک‌لیست همان جلسه kickoff فنی است که باید قبل از خط کد اتفاق بیفتد.

محیط و ابزار

  • ☐ PHP 8.2+ با اکستنشن‌های Laravel (راهنمای نصب)
  • ☐ Composer و composer.lock در Git
  • .env.example کامل بدون secret
  • ☐ Node LTS + Vite برای asset
  • ☐ IDE با PHP Intelephense / Laravel Idea

Git و workflow

  • ☐ Repository خصوصی/عمومی ساخته شده
  • ☐ Branch strategy: main + feature/* (Git)
  • ☐ .gitignore شامل vendor، node_modules، .env
  • ☐ PR template یا حداقل توضیح در merge request

معماری و قراردادها

  • ☐ تصمیم: Service Layer / Action / Repository (معماری لایه‌ای)
  • ☐ نام‌گذاری Model، table، route — یک زبان (انگلیسی توصیه)
  • ☐ پوشه‌های app/Services، app/Repositories اگر لازم
  • ☐ استاندارد پاسخ API (resource wrapper)
  • ☐ تصمیم فرانت: Blade / Livewire / Inertia (CSS)

دیتابیس

  • ☐ utf8mb4_unicode_ci
  • ☐ naming migrationها با تاریخ
  • ☐ seed برای dev، نه secret production
  • ☐ MySQL یا MariaDB مشخص (مقایسه)

امنیت از روز اول

  • ☐ APP_DEBUG=false روی staging/production
  • ☐ Form Request برای validation
  • ☐ Policy برای authorization
  • ☐ Rate limit روی login و API
  • چک‌لیست امنیت کامل برای launch

کیفیت کد

  • ☐ Laravel Pint در CI یا pre-commit
  • ☐ Pest/PHPUnit — حداقل smoke test
  • ☐ PHPStan level پایه (اختیاری ولی ارزشمند)

عملیات و deploy

  • ☐ محیط staging جدا
  • ☐ دستور deploy مستند: migrate، cache، queue restart
  • ☐ backup دیتابیس زمان‌بندی‌شده
  • ☐ لاگ و مانیتورینگ (حتی Sentry رایگان)

مستندات

  • ☐ README: نصب local، env keys، دستورات test
  • ☐ تصمیم‌های معماری (ADR کوتاه)
  • ☐ نقشه صفحات یا wireframe برای مشتری

اشتباه رایج: رد کردن چک‌لیست

«بعداً درست می‌کنیم» = technical debt با بهره بالا. هفته اول auth و migration درست ارزان‌تر از patch امنیتی در production است.

جمع‌بندی

این لیست را در Notion یا README تیک بزنید. بعد از آماده‌سازی: اولین route و اصول طلایی. پروژه سفارشی؟ تماس.