آموزش FastAPI Full Stack توسعه وب (API + Webapp)

FastAPI Full Stack Web Development (API + Webapp)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ساخت APIهای با کارایی بالا را با بهترین شیوه های استاندارد صنعت تجربه کنید. سخت خواهد بود اما ارزشش را دارد با استفاده از FastAPI با بهترین شیوه ها و تست واحد، یک API و همچنین برنامه وب ایجاد کنید. پیش نیازها:درک پایه پایتون مثال: کلاس ها، فهرست، دیکشنری ها. درک اولیه Clean Code و Testing Philosophy به شما کمک می‌کند تا کدهای شکست را درک کنید.

این دوره راهنمای یادگیری FastAPI است. مستندات FastAPI یکی از بهترین مستندات است. این دوره برای دانش آموزانی است که عاشق ویدیوها به عنوان رسانه ای برای یادگیری هستند. ما FastAPI را با بهترین شیوه ها یاد خواهیم گرفت. بز توسعه تست محور؟ روند توسعه ما را هدایت خواهد کرد. TDD راهی برای فکر کردن به کد قبل از نوشتن یک قطعه کد است. در این دوره ما مفاهیم اصلی زیر را یاد خواهیم گرفت:

  • ایجاد API: نقاط پایانی زیر را پیاده سازی می کنیم:

    • ایجاد شغل

    • بازیابی

    • به روز رسانی

    • حذف

    • لیست مشاغل

  • تأیید هویت کاربر با امنیت اولیه

    • گذرواژه برای ایجاد امنیت بیشتر هش می‌شود

    • از JSON Web Tokens برای احراز هویت استفاده خواهیم کرد

    • توکن‌ها در LocalStorage یا کوکی‌ها ذخیره نمی‌شوند

    • توکن در کوکی HttpOnly ذخیره خواهد شد


  • سیستم کنترل نسخه

    • ما از GIT به عنوان vc خود استفاده خواهیم کرد

    • Github برای میزبانی کد ما استفاده خواهد شد


  • ایجاد برنامه های وب

    • ما از زبان الگوی Jinja استفاده خواهیم کرد

    • ما با چندین فرم کار خواهیم کرد


  • تست واحد

    • تست ها در Pytest نوشته می شوند

    • بعد از هر چرخه آزمایش، پایگاه داده تست پاک می شود

    • پوشش آزمایشی

    • چگونه تست های واحد ننویسیم؟


  • مجوزها: کاربری که کار را ایجاد نکرده است، نمی‌تواند آن را حذف کند.

  • ما با Postgres کار خواهیم کرد و آن را با استفاده از PgAdmin نظارت خواهیم کرد.

Fastapi اسناد OpenAPI داخلی را در اختیار ما قرار می دهد، ما از مستندات به طور کامل استفاده خواهیم کرد. این اسناد به توسعه دهندگان باطن و فرانت اند کمک می کند تا به راحتی با یکدیگر همکاری کنند.


سرفصل ها و درس ها

معرفی Introduction

  • نمایش پروژه Project Demonstration

  • پیش نیاز دوره Prerequisite for the course

  • Github Repo. و نسخه دقیق بسته های استفاده شده Github Repo. and exact version of Packages used

  • پشته فناوری برای دوره Technology Stack for the Course

  • تنظیمات اولیه برای پروژه Initial Configurations for the Project

  • سلام FastAPI Hello FastAPI

  • افعال و کاربرد HTTP HTTP Verbs and Usage

  • Refactoring متغیرهای پیکربندی پروژه Refactoring Project Configuration Variables

  • استفاده از GIT و Github Using GIT and Github

  • درک خود را آزمایش کنید Test Your Understanding

بلوک های ساختمان برای یک پروژه FastAPI Building Blocks for a FastAPI Project

  • مقدمه Intoduction

  • پیکربندی URL پایگاه داده به عنوان متغیر محیطی Configuring Database URL as Environment Variable

  • اتصال به پایگاه داده Postgres Connecting to Postgres Database

  • اتصال به پایگاه داده SQLite (اختیاری) Connecting to SQLite Database (Optional)

  • کد را به Github اختصاص دهید Commit code to Github

  • ایجاد جدول کار با استفاده از SQLAlchemy Creating the Job Table using SQLAlchemy

  • ایجاد جدول کاربر Creating the User Table

  • بررسی SQLite با مرورگر SQLite (اختیاری) Inspecting SQLite with SQLite Browser (Optional)

  • اعتبار سنجی داده ها با طرحواره های Pydantic Data Validation with Pydantic Schemas

  • درک تزریق وابستگی Understanding Dependency Injection

  • مقدمه ای بر هشینگ Introduction to Hashing

  • پیاده سازی هش رمز عبور Password Hashing Implementation

  • اجرای کد و بهترین شیوه های ما Commiting our code and Best Practices

API هایی که از FastAPI استفاده می کنند APIs using FastAPI

  • اولین مسیر FastAPI ما Our First FastAPI Route

  • نقطه پایانی کاربر ایجاد کنید Create User Endpoint

  • پنهان کردن جزئیات پیاده سازی غیر ضروری (فیلتر پاسخ Pydantic) Hiding Un-necessary implementation details (Pydantic response filtering)

  • پیکربندی تست ها و اولین تست ما Configuring Tests and Our First Test

  • کد برای پیکربندی تست Code for Test Configuration

  • درخواست جریان پاسخ برای ایجاد یک پست شغلی Request Response flow to create a Job post

  • ایجاد یک پست شغلی Creating a Job post

  • رفع اشکال [تبدیل به تاریخ برای SQLite] Bug Fix [Conversion to date for SQLite]

  • آزمایش مسیر ایجاد شغل Testing Job Create Route

  • بازیابی شغل از DB [با TDD] Retreive Job from DB [with TDD]

  • API Endpoint برای دریافت کار با شناسه API Endpoint to get job by ID

  • توصیه از تجربه شخصی Advice from personal experience

  • لیست مشاغل موجود List of available jobs

  • به روز رسانی یک شغل Updating a job

  • حذف یک کار با شناسه Deleting a Job by id

  • پوشش کد Code Coverage

احراز هویت و مجوز Authentication and Authorization

  • Json Web Token برای احراز هویت Json Web Token for Authentication

  • تولید JWT Generating JWT

  • احراز هویت در FastAPI Authentication in FastAPI

  • مجوزها در FastAPI Permissions in FastAPI

  • رفع خطاهای تست (توکن مورد نیاز در هدر) Fix Failing Tests (Token required in Header)

برنامه های وب با استفاده از FastAPI Web Apps using FastAPI

  • الگوی سرویس با استفاده از Jinja2 Serving Template using Jinja2

  • نوار ناوبری در قالب HTML Navbar in HTML Template

  • ارائه فایل های استاتیک با FastAPI Serving Static Files with FastAPI

  • نمای لیست مشاغل Listview of Jobs

  • نمای جزئیات مشاغل DetailView of Jobs

  • ثبت نام کاربر (قسمت اول) User Registration (Part 1)

  • ثبت نام کاربر (قسمت 2) User Registration (Part 2)

  • ثبت نام کاربر (قسمت 3) لمس نهایی User Registration (Part 3) Final Touch

  • ذخیره سازی JWT در کوکی HttpOnly؟ Storing JWT in HttpOnly Cookie ?

  • احراز هویت در WebApp (قسمت 1) Authentication in WebApp (Part 1)

  • احراز هویت (قسمت 2) Authentication (Part 2)

  • ایجاد یک پست شغلی Creating a Job Post

  • حذف یک پست شغلی Deleting a Job Post

  • قابلیت جستجو Seach Functionality

  • جستجوی تکمیل خودکار با استفاده از Jquery Search Autocomplete using Jquery

نمایش نظرات

آموزش FastAPI Full Stack توسعه وب (API + Webapp)
جزییات دوره
6.5 hours
58
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,039
4.5 از 5
دارد
دارد
دارد
Sourabh Sinha
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sourabh Sinha Sourabh Sinha

توسعه دهنده نرم افزار در GroupDiscussion.Co