TGViewer
</ MoDev > </ MoDev > @programming_codiing · 479 subscribers
Post #428 389
ساختار کامل پروژه‌ی Backend.

تو پست قبلی ساختار ابتدایی پیشنهادی برای پروژه‌های Frontend رو گفتیم؛ این بار بریم سراغ یک ساختار تمیز و قابل توسعه برای Backend.

وقتی پروژه بزرگ می‌شه، پوشه‌هایی مثل controllers و services کم‌کم پر از فایل‌های بی‌ربط می‌شن. راه‌حل‌ اینه هر Feature، یک ماژول مستقل داشته باشه و همه‌ی کدهای مرتبط با خودش رو همون‌جا نگه داره.

backend/
├── src/
│ ├── modules/
│ │
│ ├── shared/
│ │ ├── middlewares/
│ │ ├── errors/
│ │ ├── utils/
│ │ ├── constants/
│ │ └── types/
│ │
│ ├── infrastructure/
│ │ ├── database/
│ │ │ ├── migrations/
│ │ │ └── seeds/
│ │ ├── cache/
│ │ ├── queue/
│ │ ├── storage/
│ │ └── mailer/
│ │
│ ├── config/
│ │
│ ├── routes.ts
│ ├── app.ts
│ └── server.ts
│
├── tests/
│ ├── integration/
│ └── e2e/
│
├── scripts/

modules/
هر Feature، ماژول خودش رو داره و کدهای مربوط به اون Feature کنار هم قرار می‌گیرن.

shared/
کدهایی که بین چند ماژول استفاده می‌شن؛ مثل Middlewareها، Errorها، Utilityها و Typeهای مشترک.

infrastructure/
مسئول ارتباط با زیرساخت‌ها و سرویس‌های بیرونی؛ مثل Database، Cache، Queue، Storage و Mailer.

config/
تنظیمات پروژه و متغیرهای "env" در یک نقطه مدیریت می‌شن.

tests/
تست‌های Integration و E2E از کد اصلی پروژه جدا نگه داشته می‌شن.

در نهایت، هدف این ساختار ساده‌ست:
ماژول بیشتر، نه شلوغی بیشتر.

@programming_codiing
  • ❤ 6
  • ⚡ 1
More from @programming_codiing
  1. Oct 14, 2026بعضی موقع یه چیزی که اسمش رو کمال‌گرایی می‌ذاریم، در واقع ترس از قضاوت شدنه. پروژه رو تموم…
  2. Oct 13, 2026هر چیزی که منتشر می‌کنید، لزوماً محتوای خوبی نیست. فرض کنید دو نفر درباره‌ی جاوااسکریپت مح…
  3. Oct 12, 2026«هر احمقی می‌تواند کدی بنویسد که کامپیوتر بفهمد؛ برنامه‌نویس خوب کدی می‌نویسد که انسان‌ها…
  4. Oct 11, 2026پیشرفت، همیشه قابل دیدن نیست.. @programming_codiing
  5. Oct 10, 2026اینجور سایت های باحال : فقط ویدیو و عکس هست ولی با منطق درست برای نمایش، چیز سختی هم نیست.…
  6. Oct 8, 2026بعد جاوااسکریپت حتما تایپ‌اسکریپت رو قدم بعدی تون قرار بدید. چیز سختی نیست و زمان زیادی هم…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →