چکلیست قبل از شروع پروژه 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 و اصول طلایی. پروژه سفارشی؟ تماس.