backups اشتباه توی تصویر اومده؛ شخصا یک اسکریپت دارم که اگر فایل بکاپی داخل این پوشه بود موقع راهاندازی اولیه postgresql اون رو هم restore کنه که خب اینجا هم اومد. چیز مهمی نیست؛ برای راحتی تیم توسعه اینکار رو میکنم (تصمیم شخصی هست)شاید بشه گفت
compose.yml ربطی به اینجا نداره ولی این مورد رو گذاشتم که بگم توی سال 2026 خواهشا بدون داکر پروژه دست کسی ندید پوشه docker هم برای نگهداری تنظیمات؛ Dockerfileها و اسکریپت و ... هستتغییر مهم بعدی
justfile هست که بنظرم یکی از تصمیمات خیلی خوب بوده؛ مدت طولانی هست که توی پروژهها just رو با make جایگزین کردم هم کارهای بیشتری باهاش میشه کرد (یادتون باشه make یک builder هست خیلی برای کاری که ما باهاش میکردیم ساخته نشده بود) هم خیلی سریع و راحت هست.درمورد
sample.env این مورد شامل تمام تنظیماتی هست که compose.yml بهش نیاز داره؛ مثلا TAG ها چی باشه؛ port ها چطوری تعریف بشه؛ سایز و تعداد log ها چطور. خلاصه هرچیزی که میتونه درطول زمان ثابت نباشه اینجاس که بچههای DevOps بر اساس اون env. رو میسازند.یک پوشه هم دارم به اسم
envs که شامل env فایلهای هر container میشه؛ که همهی environment variable ها وارد همهی container ها نشه؛ داخل این هم به اسم هر بخش پروژه یا کانتینر یک sample وجود داره.پوشه
doc هم تغییراتی داشته اینبار؛ plan رو بهش اضافه کردیم که یک مورد تیمی هست راجب اینکه پروژه چطوری پیش بره اول چه چیزایی کد زده بشه بعدش چه چیزهایی و ... این پوشه نسخه اولیه داره و دائم آپدیت میشه
حتما هم داخل
.dockerignore اضافه میشه که توی تصویر بالا این فایل هم جا افتاده (پروژه جدید هست)
اما مهمترین و بهترین چیزی که توی
document نویسی اضافه شده فایل adr هست (راجب adr توی RandRng قبلی گفته بودم) ولی بطور خلاصه هر داکیومنت داخل پوشه adr توضیح میده چرا تیم تصمیم به استفاده از یک ابزار خاص کرده؛ ما یک قدم هم جلوتر رفتیم البته: اگر بین ۲ نقر یا چندنفر توی پروژه اختلاف نظر پیش بیاد که یک کاری رو چطوری انجام بدیم یا با چه ابزاری انجام بدیم؛ یکی از اون افراد شروع میکنه راجب مزایا و معایب ابزار مدنظر خودش
ADR نوشتن و میفرسته روی گیتهاب بعدش یک نفر از گروه مخالف راجب روش یا ابزار خودش داکیومنت رو آپدیت میکنه.درنهایت من بعنوان
reviewer اضافه میشم و شرایط و توضیحات هر دوتا گروه رو میخونم؛ یک مقایسه نهایی و آپدیت تصمیم؛ هم پروسه و دلیل تصمیم داکیومنت میشه و هم از بحثها و جلسههای بی سر و ته جلوگیری میشه و توی کمترین زمان و با کمترین درگیری هم حرف همه شنیده شده و تیم تصمیم گرفته.این مورد آخر رو بچههای تیم خودم خیلی خیلی دوسش دارند؛ بخصوص
junior, mid ها چون قبلا برای این تصمیمات فقط senior ها توی جلسه میشستند.