توسعه دهنده پایتون بکند در باسلام. منتور دوره در 7Learn.com. مهندس نرم افزار. تجربه کار با Python, FastAPI, Postgres, Redis و Celery. عاشق این هستم که تأثیرات بزرگی تو جامعه مون بذارم.
تمرین های عملی و پروژه هایی که تو دوره پایتون وب سون لرن انجام میدید
لینک دوره متخصص پایتون توسعه وب آموزشگاه سون لرن
https://7learn.com/course/python-web-expert
پروژه ها
- تولید کننده کلمه عبور رندوم - Password Generator
- بازی سنگ کاغذ قیچی (رابط کاربری خط فرمان) - Rock Paper Scissor Game (Command line interface)
- اسکریپت محاسبه و اطلاع رسانی نرخ ارز به صورت روزانه (ایمیل و پیامک) - Currency rate calculator and notifier (Email & SMS)
- پروژه مدیریت مشاوره املاک (شی گرایی، ذخیره در فایل و رابط خط فرمان)
- آزمون عملی پیاده سازی پروژه سیستم فروش رستوران (شی گرایی، ذخیره در فایل، ذخیره در MongoDB، Composition، Mutliple Inheritance)
- پروژه کرالر و اسکرپر سایتی خارجی مشابه دیوار:
- استخراج آگهی ها
- گذر از صفحه بندی در صفحات وب
- خواندن آگهی های یک شهر یا دسته بندی خاص
- استفاده از شی گرایی به بهبود پروژه و توسعه پذیر کردن پروژه
- استخراج کل اطلاعات یک آگهی
- ذخیره آگهی ها و لینک ها در MongoDB
- استفاده از Selenium برای ورود و احراز هویت
- استفاده Multi Threading و Mulit Processing برای افزایش سرعت
7. پروژه فروشگاه آنلاین همراه با یه وبلاگ ساده
تمام موضوعاتی که در جلسات سرفصل آموزش جنگو گفته میشه در پروژه بالا پیاده سازی میشه:
- ساخت پروژه - آشنایی با معماری و تنظیمات پروژه جنگو ۳۳:۵۸
- آشنایی با مفهوم app در پروژه جنگو و آدرسدهیها (url) ۳۵:۳۷
- آدرسدهی در urls - آشنایی با path ۳۰:۲
- آدرسدهی در urls - استفاده از regex ۲۵:۶
- استفاده از Django ORM - اتصال به دیتابیس Postgres ۴۱:۵۲
- استفاده از Django ORM - پیادهسازی مدلها و اعمال تغییرات در دیتابیس ۳۶:۸
- آشنایی با پنل admin جنگو و رجیستر کردن مدلها - قسمت اول ۳۰:۵۱
- آشنایی با پنل admin جنگو و رجیستر کردن مدلها - قسمت دوم ۲۹:۱۴
- نوشتن Query در ORM جنگو - نحوه دسترسی به دادهها و جداول در دیتابیس ۳۵:۳۴
- نوشتن Query در ORM جنگو - استفاده از select_related و prefetch_related ۳۱:۱۰
- نوشتن Query در ORM جنگو - محاسبه موجودی پروژه کیف پول الکترونیک ۳۲:۴۴
- نوشتن Query در ORM جنگو - آشنایی به Annotate و Aggregate در جنگو ۴۱:۳۰
- ORM جنگو - طراحی مدل کیف پول الکترونیک برای انتقال اعتبار بین دو کاربر ۳۲:۴۵
- ORM جنگو - استفاده از transaction.atomic و select_for_update ۲۵:۹
- ORM جنگو - جستجو در دیتابیس ۳۸:۳۵
- ORM جنگو - models.Manager ۲۵:۲۳
- معماری request/response در جنگو - نقش middleware ها در پروژه ۳۵:۴۴
- View ها در جنگو - استفاده از decorator برای کنترل دسترسی ۳۰:۵۲
- View ها در جنگو - استفاده از permission برای کنترل دسترسی ۲۳:۱۴
- View ها در جنگو - تنظیم آدرسها و render کردن فایل html ۳۱:۳۶
- Django Template - ارثبری و پرهیز از نوشتن کد تکراری در template ها ۳۰:۱۱
- Django Template - استفاده از include و نوشتن template tag ۲۴:۱۵
- Django Template - نحوه ذخیرهسازی و استفاده از static ها در پروژه ۳۳:۸
- ذخیرهسازی فایلها در دیتابیس و دسترسی به آنها ۱۹:۳۹
- دریافت دیتا از کاربران - اضافه کردن مفهوم سبد خرید به فروشگاه اینترنتی ۳۰:۲۸
- دریافت دیتا از کاربران - پردازش دیتای ارسالی کاربران در view (بدون استفاده از Django forms) ۳۱:۶
- دریافت دیتا از کاربران - استفاده از Django forms ۳۱:۵۴
- دریافت دیتا از کاربران - استفاده از ModelForm ۳۸:۱۹
- دریافت دیتا از کاربران - افزودن Validator دلخواه به فرمها ۲۲:۲۹
- استفاده از Class Based Views - قسمت اول ۲۸:۰
- استفاده از Class Based Views - قسمت دوم ۱۴:۵۴
- استفاده از Class Based Views - قسمت سوم ۳۱:۴۸
- درگاه پرداخت - معماری درگاه پرداخت در یک پروژه وب ۳۲:۴۴
- درگاه پرداخت - افزودن قابلیت پرداخت به پروژه و استفاده از pattern مناسب ۳۴:۳۰
- درگاه پرداخت - افزودن app جدید برای خرید اشتراک توسط کاربران در سایت ۲۶:۵
- درگاه پرداخت - افزودن امکان ثبت سفارش کاربران و دریافت فاکتور از درگاه ۳۲:۵۱
- درگاه پرداخت - هدایت کاربران به درگاههای مختلف و تایید پرداخت (قسمت اول) ۲۱:۶
- درگاه پرداخت - هدایت کاربران به درگاههای مختلف و تایید پرداخت (قسمت دوم) ۲۳:۲۱
- کار کردن با Signal ها در جنگو - قسمت اول ۳۸:۲۶
- کار کردن با Signal ها در جنگو - قسمت دوم ۲۵:۵۶
- نوشتن Custom Command در جنگو ۲۳:۴۷
- پیادهسازی Cache در جنگو - قسمت اول ۳۲:۲۳
- پیادهسازی Cache در جنگو - قسمت دوم ۳۲:۳۴
- پیادهسازی Cache در جنگو - قسمت سوم ۱۷:۳۰
- چندزبانه کردن سایت با استفاده از i18n - قسمت اول ۳۱:۱
- چندزبانه کردن سایت با استفاده از i18n - قسمت دوم ۳۷:۵۲
- چندزبانه کردن سایت با استفاده از i18n - قسمت سوم ۲۴:۱۸
- چندزبانه کردن سایت با استفاده از i18n - قسمت چهارم ۳۲:۵
همچنین تو این پروژه از Celery استفاده میشه:
- Async چیست؟ ۳۳:۳۰
- مدلسازی Async در توسعه نرمافزار و آشنایی با Celery ۳۱:۱
- راهاندازی Celery و قرار دادن کارها در صف ۱۹:۵۸
- آشنایی بیشتر با امکانات Celery ۱۱:۲۴
- آشنایی به Periodic Task در Celery ۱۹:۵۴
- استفاده از crontab برای مدیریت زمانبدی Periodic Taskها ۱۸:۳۲
- استفاده از Celery در پروژه Django
8. پروژه مشابه اینستاگرام
مفاهیم و پیاده سازی REST API هم آموزش داده میشه و تو این پروژه استفاده میشه:
- آشنایی با مفهوم API ۱۴:۱۸
- SOAP چیست؟ ۱۳:۱۳
- REST API چیست؟ ۲۰:۶
- Graphql چیست؟ ۱۷:۵۳
- نوشتن یک API ساده با استفاده از Django Rest Framework ۲۹:۴۰
- استفاده از Serializer در API ۲۳:۳۵
- استفاده از ModelSerializer در API ۲۶:۵۵
- احراز هویت کاربران در DRF ۲۸:۱۶
- استفاده از JWT در DRF ۲۹:۸
- آشنایی و استفاده از generic view ها - ListAPIView, CreateAPIView ۲۹:۴۱
- آشنایی و استفاده از generic view ها - UpdateAPIView , RetrieveAPIView
8. آزمون انجام یه پروژه جنگویی به صورت تیمی، موضوع پروژه میتواند انتخابی باشد.
اگر قسمتی رو اشتباه عرض کردم لطفا تو کامنت ها بفرمایید.
مطلبی دیگر از این انتشارات
چرا تست نویسی اهمیت دارد؟
مطلبی دیگر از این انتشارات
سونلرن، مرجع تخصصی برنامهنویسی
مطلبی دیگر از این انتشارات
پردرآمدترین زبانهای برنامه نویسی در ایران کدامند؟