Django Experience
Video
پروژه شرکتی سایت javidpeyma
فرانت اند :
Html, Css, Js, Boostrap
بک اند :
Python, Django
ویژگی های سایت:
✅ صفحه login
✅ صفحه Register
✅ بخش وبلاگ و قابلیت ایجاد بلاگ توسط ادمین سایت
✅ پنل ادمین اختصاصی
✅ بخش نظرات و ارسال کامنت
✅ بخش نمونه کار ها به صورت داینامیک(انتقال دیتا از سمت سرور به سمت کلاینت)
✅ بخش تیم ما به صورت داینامیک
✅ بخش ارتباط با ما و ارسال دیتا از فرم به دیتابیس
My Site : parsajavidi.ir
فرانت اند :
Html, Css, Js, Boostrap
بک اند :
Python, Django
ویژگی های سایت:
✅ صفحه login
✅ صفحه Register
✅ بخش وبلاگ و قابلیت ایجاد بلاگ توسط ادمین سایت
✅ پنل ادمین اختصاصی
✅ بخش نظرات و ارسال کامنت
✅ بخش نمونه کار ها به صورت داینامیک(انتقال دیتا از سمت سرور به سمت کلاینت)
✅ بخش تیم ما به صورت داینامیک
✅ بخش ارتباط با ما و ارسال دیتا از فرم به دیتابیس
My Site : parsajavidi.ir
🔥13❤2👍2
Django Experience
Video
پروژه سایت شخصی
✅ بخش مهارت ها
✅ نمونه کار ها
✅ صفحه login, register
✅ وبلاگ
✅ کاملا داینامیک
✅ پنل ادمین اختصاصی
فرانت اند :
✅ Html
✅ Css
✅ Bootstrap
✅ Javascript
بک اند :
✅ Python , Django
My Site : parsajavidi.ir
✅ بخش مهارت ها
✅ نمونه کار ها
✅ صفحه login, register
✅ وبلاگ
✅ کاملا داینامیک
✅ پنل ادمین اختصاصی
فرانت اند :
✅ Html
✅ Css
✅ Bootstrap
✅ Javascript
بک اند :
✅ Python , Django
My Site : parsajavidi.ir
🔥15❤2👌2👍1
Django Experience
Video
طراحی و توسعه سایت شخصی معماری
لینک : fakhariarchitect.ir
مقدمه:
در این پروژه، هدف ایجاد یک وبسایت حرفهای و کاربرپسند برای معرفی و نمایش پروژههای معماری بود. این وبسایت باید توانایی نمایش جزئیات دقیق پروژهها، و رزومه کاربر، با کیفیت بالا، اطلاعات تماس و همچنین یک بخش وبلاگ برای بهروزرسانیهای دورهای را داشته باشد.
ویژگیها:
✅ طراحی واکنشگرا: وبسایت برای نمایش صحیح و بهینه در تمامی دستگاهها (کامپیوتر، تبلت، موبایل) طراحی شده است.
✅ رابط کاربری مدرن و جذاب: استفاده از طراحی مدرن با تمرکز بر تجربه کاربری آسان و دسترسی سریع به اطلاعات.
✅جزئیات پروژهها: صفحههای اختصاصی کاملا داینامیک برای هر پروژه که شامل توضیحات کامل، نقشهها و طرحها، و گالری تصاویر مربوطه میباشد.
✅ بخش وبلاگ: امکان انتشار مقالات و اخبار مرتبط با معماری و پروژههای در حال اجرا.
✅ اطلاعات تماس: فرم تماس جهت سهولت ارتباط کاربران.
فناوریهای استفاده شده:
✅ بکاند: جنگو (Django) برای مدیریت محتوا، دادهها و ایجاد عملکردهای پیچیده
✅ پایگاه داده: PostgreSQL برای ذخیره و مدیریت دادهها
✅ فرانت اند : HTML5 و CSS3 برای ساختار طراحی صفحات
✅ JavaScript و jQuery برای ایجاد تعاملات پویا
✅ ریسپانسیو : استفاده از فریمورک Bootstrap برای طراحی واکنشگرا و سریع
لینک : fakhariarchitect.ir
مقدمه:
در این پروژه، هدف ایجاد یک وبسایت حرفهای و کاربرپسند برای معرفی و نمایش پروژههای معماری بود. این وبسایت باید توانایی نمایش جزئیات دقیق پروژهها، و رزومه کاربر، با کیفیت بالا، اطلاعات تماس و همچنین یک بخش وبلاگ برای بهروزرسانیهای دورهای را داشته باشد.
ویژگیها:
✅ طراحی واکنشگرا: وبسایت برای نمایش صحیح و بهینه در تمامی دستگاهها (کامپیوتر، تبلت، موبایل) طراحی شده است.
✅ رابط کاربری مدرن و جذاب: استفاده از طراحی مدرن با تمرکز بر تجربه کاربری آسان و دسترسی سریع به اطلاعات.
✅جزئیات پروژهها: صفحههای اختصاصی کاملا داینامیک برای هر پروژه که شامل توضیحات کامل، نقشهها و طرحها، و گالری تصاویر مربوطه میباشد.
✅ بخش وبلاگ: امکان انتشار مقالات و اخبار مرتبط با معماری و پروژههای در حال اجرا.
✅ اطلاعات تماس: فرم تماس جهت سهولت ارتباط کاربران.
فناوریهای استفاده شده:
✅ بکاند: جنگو (Django) برای مدیریت محتوا، دادهها و ایجاد عملکردهای پیچیده
✅ پایگاه داده: PostgreSQL برای ذخیره و مدیریت دادهها
✅ فرانت اند : HTML5 و CSS3 برای ساختار طراحی صفحات
✅ JavaScript و jQuery برای ایجاد تعاملات پویا
✅ ریسپانسیو : استفاده از فریمورک Bootstrap برای طراحی واکنشگرا و سریع
❤16
Django Experience
Video
پروژه رزرو نوبت آرایشگاه یک سیستم مدیریت آنلاین برای رزرو و پرداخت نوبتهای خدمات آرایشی و بهداشتی است که به کاربران امکان میدهد بهراحتی نوبت موردنظر خود را انتخاب و رزرو کنند. این سیستم بهگونهای طراحی شده که نیازهای یک سالن آرایشگاه یا اسپا را پوشش دهد و تجربه کاربری ساده و موثری برای مشتریان فراهم کند.
آدرس وبسایت : kati-barber.ir
ویژگیهای پروژه
1. فرآیند رزرو آنلاین:
- کاربران میتوانند روز و ساعت موردنظر خود را از بین زمانهای موجود انتخاب کنند.
- در صورتی که زمانی انتخاب شده قبلاً رزرو شده یا ظرفیت روز تکمیل باشد، سیستم بهطور خودکار به کاربر هشدار میدهد.
2. ارسال ایمیل یادآوری:
- پس از تأیید پرداخت، ایمیل یادآوری خودکار برای مشتری ارسال میشود.
- این ایمیل به گونهای زمانبندی شده که مثلاً دو ساعت پیش از موعد رزرو به مشتری اطلاع دهد و از فراموش شدن نوبت جلوگیری کند.
3. پرداخت آنلاین:
- سیستم به درگاه پرداخت زرینپال متصل است و کاربران پس از انتخاب زمان و تایید نهایی به صفحه پرداخت هدایت میشوند.
- وضعیت پرداخت پس از انجام عملیات بانکی بهطور خودکار بررسی شده و نوبت در صورت موفقیت پرداخت تایید میشود.
4. رابط کاربری ساده و کاربرپسند:
- از فرمها و انتخابگرهای تاریخ و زمان مناسب استفاده شده تا کاربران بهآسانی و بدون پیچیدگی نوبت خود را ثبت کنند.
- تایمپیکر با محدودیت زمانی برای ساعات کاری (مثلاً ۹ صبح تا ۹ شب) پیادهسازی شده و به کاربر اجازه انتخاب خارج از این محدوده را نمیدهد.
5. استفاده از پایگاه داده و اعتبارسنجی دادهها:
- سیستم از مدلهای داده Django برای مدیریت مشتریان، نوبتها و پرداختها استفاده میکند.
- از
6. استفاده از Django و Python:
- پروژه با استفاده از چارچوب Django توسعه یافته است و با پیادهسازی اصول MVC، کدها بهصورت تمیز و قابل گسترش نگه داشته شدهاند.
- ارسال ایمیل و ارتباط با API درگاه پرداخت به کمک کتابخانههای Django انجام میشود که این پروژه را قدرتمند و پایدار میسازد.
تکنولوژیهای بهکاررفته
- Backend: Django, Python
- پایگاهداده: Postgresql
- سیستم پرداخت: زرینپال API برای پرداختهای آنلاین
- ارسال ایمیل: پیکربندی SMTP و استفاده از کتابخانه ایمیل Django
- کتابخانههای جانبی: استفاده از
ارزش افزوده پروژه
- با این سیستم، آرایشگاهها و سالنهای زیبایی میتوانند فرآیند رزرو و پرداختهای خود را بهصورت دیجیتال و آنلاین انجام دهند و نیاز به پیگیری دستی و تماسهای تلفنی را به حداقل برسانند.
- کاربران میتوانند بهراحتی از خانه یا هر مکان دیگری نوبت خود را ثبت کرده و در زمانهای شلوغ به مدیریت زمان خود کمک کنند.
آدرس وبسایت : kati-barber.ir
ویژگیهای پروژه
1. فرآیند رزرو آنلاین:
- کاربران میتوانند روز و ساعت موردنظر خود را از بین زمانهای موجود انتخاب کنند.
- در صورتی که زمانی انتخاب شده قبلاً رزرو شده یا ظرفیت روز تکمیل باشد، سیستم بهطور خودکار به کاربر هشدار میدهد.
2. ارسال ایمیل یادآوری:
- پس از تأیید پرداخت، ایمیل یادآوری خودکار برای مشتری ارسال میشود.
- این ایمیل به گونهای زمانبندی شده که مثلاً دو ساعت پیش از موعد رزرو به مشتری اطلاع دهد و از فراموش شدن نوبت جلوگیری کند.
3. پرداخت آنلاین:
- سیستم به درگاه پرداخت زرینپال متصل است و کاربران پس از انتخاب زمان و تایید نهایی به صفحه پرداخت هدایت میشوند.
- وضعیت پرداخت پس از انجام عملیات بانکی بهطور خودکار بررسی شده و نوبت در صورت موفقیت پرداخت تایید میشود.
4. رابط کاربری ساده و کاربرپسند:
- از فرمها و انتخابگرهای تاریخ و زمان مناسب استفاده شده تا کاربران بهآسانی و بدون پیچیدگی نوبت خود را ثبت کنند.
- تایمپیکر با محدودیت زمانی برای ساعات کاری (مثلاً ۹ صبح تا ۹ شب) پیادهسازی شده و به کاربر اجازه انتخاب خارج از این محدوده را نمیدهد.
5. استفاده از پایگاه داده و اعتبارسنجی دادهها:
- سیستم از مدلهای داده Django برای مدیریت مشتریان، نوبتها و پرداختها استفاده میکند.
- از
clean
در فرمها برای بررسی و اعتبارسنجی دادهها استفاده شده، مثلاً جلوگیری از ثبت نوبت در زمانهای گذشته یا ظرفیتهای تکمیل شده.6. استفاده از Django و Python:
- پروژه با استفاده از چارچوب Django توسعه یافته است و با پیادهسازی اصول MVC، کدها بهصورت تمیز و قابل گسترش نگه داشته شدهاند.
- ارسال ایمیل و ارتباط با API درگاه پرداخت به کمک کتابخانههای Django انجام میشود که این پروژه را قدرتمند و پایدار میسازد.
تکنولوژیهای بهکاررفته
- Backend: Django, Python
- پایگاهداده: Postgresql
- سیستم پرداخت: زرینپال API برای پرداختهای آنلاین
- ارسال ایمیل: پیکربندی SMTP و استفاده از کتابخانه ایمیل Django
- کتابخانههای جانبی: استفاده از
threading.Timer
برای زمانبندی ارسال ایمیل و Jalali
برای نمایش تاریخ به شمسیارزش افزوده پروژه
- با این سیستم، آرایشگاهها و سالنهای زیبایی میتوانند فرآیند رزرو و پرداختهای خود را بهصورت دیجیتال و آنلاین انجام دهند و نیاز به پیگیری دستی و تماسهای تلفنی را به حداقل برسانند.
- کاربران میتوانند بهراحتی از خانه یا هر مکان دیگری نوبت خود را ثبت کرده و در زمانهای شلوغ به مدیریت زمان خود کمک کنند.
🔥18❤🔥1👍1🆒1
Forwarded from Python Hints
#تجربه #جنگو
چیزی که توی کدهای
تست نویسی برای سرویسهای third-party هست که از طریق API استفاده میکنیم.
همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویسها نمیوفته ولی چندتا سوال؛
۱- سرویس ما چه اتفاقی باید براش بیوفته اگر سرویس دهنده تغییراتی داشته باشه ؟ و درخواستهای ما 400, 404 , ... برگرده ؟
۲- چه اتفاقی برای سرویسهای ما خواهد افتاد اگر سرویس دهنده بخاطر محدودیتهای جدید یا .... بهمون 500, 503, ... برگردونه ؟
اینا چیزهایی هست که ننوشتن تست براش میتونه خسارت زیادی به سرویس بزنه مثلاً:
فرض کنید، من یک فروشگاه اینترنتی دارم؛ اگر سرویس درگاه پرداخت به هر دلیلی کار نکنه یعنی فروشگاه من هیچ خروجی نداره دوتا مورد باید هرچه سریعتر انجام بشه :
۱- یک ایمیل
۲- خطای مناسب (اینکه سرویس پرداخت غیرفعال هست) به کاربر نشون داده بشه تا از رفرش و
بخصوص روی سرویسهای auto-scale که با زیاد شدن درخواست سرورهای جدیدی بالا میاد و این یعنی هزینه بیشتر.
توی زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای اینکار وجود داره؛ توی پایتون هم پکیج
Responses
کمک میکنه اینکار رو انجام بدید.
واقعاً نمیدونم چرا؛ ولی اینکه این تستهای توی کدهای شرکتهای بزرگ داخلی نمیبینم یا حتی توی آموزشها و .... مغزم سوت میکشه.
بعد اینا از
حالا که این موارد رو توی آموزش و کدها ندیدم (توی سرویسهایی که تیم خودم مینویسه همیشه وجود داره)
گفتم بگم که شما خودتون یاد بگیرید، شاید یک روزی کدهای شما به من رسید یا هم تیمی شدیم.
چیزی که توی کدهای
Django
توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست.تست نویسی برای سرویسهای third-party هست که از طریق API استفاده میکنیم.
همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویسها نمیوفته ولی چندتا سوال؛
۱- سرویس ما چه اتفاقی باید براش بیوفته اگر سرویس دهنده تغییراتی داشته باشه ؟ و درخواستهای ما 400, 404 , ... برگرده ؟
۲- چه اتفاقی برای سرویسهای ما خواهد افتاد اگر سرویس دهنده بخاطر محدودیتهای جدید یا .... بهمون 500, 503, ... برگردونه ؟
اینا چیزهایی هست که ننوشتن تست براش میتونه خسارت زیادی به سرویس بزنه مثلاً:
فرض کنید، من یک فروشگاه اینترنتی دارم؛ اگر سرویس درگاه پرداخت به هر دلیلی کار نکنه یعنی فروشگاه من هیچ خروجی نداره دوتا مورد باید هرچه سریعتر انجام بشه :
۱- یک ایمیل
critical
برای ادمین بره تا بتونه پیگیری کنه موضوع رو از سرویس دهنده۲- خطای مناسب (اینکه سرویس پرداخت غیرفعال هست) به کاربر نشون داده بشه تا از رفرش و
DDOS
شدن توسط کاربرهای خودمون جلوگیری بشهبخصوص روی سرویسهای auto-scale که با زیاد شدن درخواست سرورهای جدیدی بالا میاد و این یعنی هزینه بیشتر.
توی زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای اینکار وجود داره؛ توی پایتون هم پکیج
Responses
کمک میکنه اینکار رو انجام بدید.
واقعاً نمیدونم چرا؛ ولی اینکه این تستهای توی کدهای شرکتهای بزرگ داخلی نمیبینم یا حتی توی آموزشها و .... مغزم سوت میکشه.
بعد اینا از
gorilla
تست صحبت میکنند.حالا که این موارد رو توی آموزش و کدها ندیدم (توی سرویسهایی که تیم خودم مینویسه همیشه وجود داره)
گفتم بگم که شما خودتون یاد بگیرید، شاید یک روزی کدهای شما به من رسید یا هم تیمی شدیم.
GitHub
GitHub - getsentry/responses: A utility for mocking out the Python Requests library.
A utility for mocking out the Python Requests library. - getsentry/responses
❤26👍8🔥4
Python Hints
#تجربه #جنگو چیزی که توی کدهای Django توی ایران به معنای واقعی اصلا و هیچوقت ندیدم؛ اما جزو مهمترین موارد هست. تست نویسی برای سرویسهای third-party هست که از طریق API استفاده میکنیم. همینجا اضافه کنم؛ همیشه فرض ما این هست که هیچ اتفاقی برای اون سرویسها…
تستنویسی برای سرویسهای third-party و سناریوهای خطا یه چیزیه که خیلی جاها یا نادیده گرفته میشه یا اصلاً بهش توجه نمیشه ولی عملاً میتونه جلوی کلی دردسر و خسارت بزرگ رو بگیره
امیدوارم این بحث تو جامعهی پایتون کارای ما بیشتر جا بیفته و تو پروژه ها و آموزش ها جدی گرفته بشه
واقعا این نوع تست ها همون چیزایی هستن که پروژه ها رو حرفهای و پایدار نگه میداره
امیدوارم این بحث تو جامعهی پایتون کارای ما بیشتر جا بیفته و تو پروژه ها و آموزش ها جدی گرفته بشه
واقعا این نوع تست ها همون چیزایی هستن که پروژه ها رو حرفهای و پایدار نگه میداره
❤21👍6🔥3