یک قالب آماده برای پروژههای Django REST Framework
من Technology Stackی که استفاده میکنم معمولاً Python, Django, Django REST Framework, PostgreSQL, Docker, Redis, RabbitMQ, Nginx و موارد مرتبط دیگه هست که خودتون به احتمال زیاد بهتر و بیشتر از من میدونید. یه مشکلی که من همیشه داشتم این بود که در پروژههای جدیدی که شروع میکردم، همیشه یه سری پیکربندی و تنظیمات مشترک و ثابت وجود داشت که باید اونا رو از اول برای همه پروژهها انجام میدادم و یا این که از پروژههای قبلی کپی میکردم.
به طور مثال: ایجاد ساختار منظم برای فایلهای تنظیمات مربوط به هرکدوم از ابزارهایی که اسمشون رو نوشتم و جداسازی اونها از فایل اصلی تنظیمات جنگو، پشتیبانی از داکر برای محیطهای توسعه و پروداکشن، تنظیمات مربوط به Code Formatter و غیره. همچنین من در پروژههای DRF برای تست معمولاً از ابزار Pytest استفاده میکنم و برای بیشتر منظم شدن، اپهای پروژه رو داخل دایرکتوری apps قرار میدم.
مدتی قبل تصمیم گرفتم که این مشکل رو برای خودم حل کنم. به این صورت که یه پروژه کلی با تنظیمات مشترک و اولیه ایجاد کنم و در همه پروژههای بعدی ازش استفاده کنم و فقط قسمتهای مورد نیاز رو تغییر بدم و موارد جدید رو بهشون اضافه کنم.
اسم این پروژه رو گذاشتم drf2go و در Github/گیتهاب قرارش دادم که از این به بعد هم خودم و هم هرکس دیگهای که حس میکنه بهش نیاز داره بتونه ازش استفاده کنه و یا در بهتر کردنش به من کمک کنه.
بعضی از ویژگیهایی که این پروژه داره و مواردی که پشتیبانی میکنه رو اینجا مینویسم و بقیه رو هم خودتون میتونید داخل README.md و یا کد منبعش پیدا و مطالعه کنید.
هدف من از ساخت drf2go این نبوده که یک پروژه پیچیده و از قبل ساختهشده داشته باشیم که فقط اسمش رو عوض کنیم و استفاده کنیم.
بیشتر هدف این بوده که یک Starting Point مناسب برای پروژههای Backend با Django و DRF داشته باشیم؛ یعنی قسمتهایی که تقریباً در اکثر پروژهها مشترک هستند یک بار به شکل منظم و قابل استفاده مجدد پیادهسازی شده باشند و وقتی یک پروژه جدید شروع میکنیم، به جای این که چند ساعت یا حتی چند روز رو صرف Setup اولیه کنیم، سریعتر به سراغ قسمت اصلی پروژه بریم.
البته این پروژه هنوز جای بهتر شدن خیلی زیادی داره و قطعاً تنظیمات و ابزارهای دیگهای هم هست که میشه بهش اضافه کرد. بنابراین اگر شما هم تجربهای در این زمینه دارید و فکر میکنید چیزی میتونه ساختار پروژه رو بهتر کنه، خوشحال میشم روی پروژه Contribution داشته باشید.
اگر هم دنبال یه شروع سریع و مرتب برای پروژههای Django/DRF هستید، شاید drf2go بتونه براتون مفید باشه.
اگر براتون مفید بود، خوشحال میشم یه Star به پروژه بدید.
https://github.com/pbarjoueian/drf2go
@DevTwitter | <Peyman Barjoueian/>
Post #12946
5.97K
- 👍 19
- 🍌 6
- ❤ 4