زمینه
پروژهای قدیمیتر است و همینطور هم معرفیاش میکنم: یک پلتفرم فروشگاهی کامل که در دوران یادگیری ساختم تا کل سطح محصولی یک بکاند جنگو را پوشش بدهم — نه دنبالهروی یک آموزش، بلکه ساختن از صفرِ هر چیزی که یک فروشگاه کوچک لازم دارد. نمایندهٔ معماری امروز من نیست، اما پایهای را نشان میدهد که مهارتهای بعدی روی آن رشد کردند.
دامنه
- مشتریان: ثبتنام و ورود همراه با جریان کد تأیید (OTP)، مسیر کامل بازیابی رمز عبور، مدیریت پروفایل، چند آدرس تحویل و فهرست علاقهمندیها.
- کاتالوگ و سفارشها: فهرست محصولات دستهبندیشده، سبد خرید، کد تخفیف و تاریخچهٔ سفارشها.
- نظرات: دیدگاههای محصول متصل به کاتالوگ.
- لایهٔ API: اپلیکیشن مستقل DRF که فروشگاه را روی REST عرضه میکند؛ در کنار فروشگاه server-rendered.
جزئیات مهندسی
- کلاسهای مجوز سفارشی DRF — بررسی مالکیت در سطح شیء (
IsOwner) و گیتهای نقش (SuperUserCanSee) بهجای شرطهای پراکنده در viewها. - PostgreSQL و Docker Compose — کل پشته با یک دستور
docker-compose up --buildبالا میآید. - تستها — تستهای مدل بهعلاوهٔ تستهای live server؛ عادتی که از همان ابتدا ماندگار شد.
- ثابتها، validatorها و managerهای سفارشی مدل در ماژولهای مستقل قرار گرفتهاند، نه پخششده میان viewها.
چه چیزی را نشان میدهد
وسعت در سطح پایه: جریانهای احراز هویت فراتر از مسیر خوشبینانه، طراحی مجوزها، مدلسازی رابطهای برای یک دامنهٔ واقعی، REST در کنار صفحات server-rendered و محیط توسعهٔ کانتینری — زیربنای میکروسرویسها و سیستمهای ناهمگامی که امروز بهصورت حرفهای میسازم.