آموزش راهنمای جامع FastAPI و توسعه بک‌اند - آخرین آپدیت

دانلود Ultimate Guide to FastAPI and Backend Development

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت REST API مدرن برای وب: آموزش جامع FastAPI، SQLModel، OAuth2، Pytest، React و Docker

آنچه در این دوره خواهید آموخت:

  • ساخت یک RESTful API کامل برای سیستم مدیریت تحویل، با رعایت بهترین شیوه‌های توسعه.
  • تعریف مدل‌های Pydantic برای اعتبارسنجی داده‌های درخواست و پاسخ، تضمین ایمنی نوع (type safety).
  • اتصال برنامه FastAPI به پایگاه داده SQL (SQLite، PostgreSQL) و یکپارچه‌سازی با اندپوینت‌ها با استفاده از تزریق وابستگی (dependency injection).
  • کار با پایگاه داده SQL با SQLModel و تعریف روابط یک-به-چند (One-to-Many) و چند-به-چند (Many-to-Many) SQL.
  • مدیریت تغییرات شمای پایگاه داده با مهاجرت‌های Alembic، شامل ارتقاء (upgrade)، دانگرید (downgrade) و تولید خودکار بازنگری‌ها.
  • پیاده‌سازی احراز هویت امن با استفاده از طرح OAuth2 در برنامه FastAPI، شامل اعتبارسنجی ایمیل، ورود/خروج و بازنشانی رمز عبور.
  • ارسال اعلان‌های ایمیل و پیامک از برنامه FastAPI با فعال شدن رویدادهای حمل و نقل.
  • یکپارچه‌سازی Celery با برنامه FastAPI برای انتقال وظایف زمان‌بر به یک پردازشگر پس‌زمینه (background worker) از یک اندپوینت API.
  • بسته‌بندی برنامه FastAPI با Docker و سرویس‌های مرتبط با استفاده از Docker Compose.
  • استقرار (Deployment) یک برنامه FastAPI به همراه سایر سرویس‌ها.

پیش‌نیازها:

  • پایتون
  • HTML/JS (اختیاری)

قدرت APIها را با پایتون و FastAPI آزاد کنید!

آیا آماده‌اید مهارت‌های پایتون خود را به ساخت APIهای فوق‌سریع و آماده تولید تبدیل کنید؟ این دوره عملی، راهنمای قطعی شما برای ساخت APIهای با کارایی بالا با استفاده از FastAPI و پایتون است.

فراتر از تئوری رفته و یک API بک‌اند کامل برای یک سیستم مدیریت تحویل واقعی بسازید. شما بر مفاهیم ضروری بک‌اند مانند چرخه درخواست/پاسخ، مدل‌سازی داده، پایگاه‌های داده، برنامه‌نویسی ناهمگام و تزریق وابستگی مسلط خواهید شد – همه اینها در حالی که از قدرت ویژگی‌های داخلی FastAPI بهره می‌برید: سرعت ناهمگام، اعتبارسنجی خودکار داده، پشتیبانی OpenAPI و بهره‌وری استثنایی توسعه‌دهنده.

پایتون (Python)

اگرچه داشتن درک اولیه از پایتون ضروری است، اما مفاهیم اصلی زبان مانند Type Hinting (اشاره‌گر نوع)، توابع دکوراتور، Context Managers (مدیران زمینه)، برنامه‌نویسی ناهمگام و سایر موارد همچنان پوشش داده خواهند شد.

پایگاه داده SQL (SQL Database)

ما پایگاه‌های داده و SQL را از پایه پوشش خواهیم داد. به خصوص اگر مبتدی هستید، ابتدا نیاز به پایگاه‌های داده ساختاریافته، SQL چیست، نحوه تعریف جداول و نوشتن کوئری‌های SQL را یاد خواهیم گرفت.

سپس یک پایگاه داده SQLite را به صورت دستی با برنامه FastAPI خود یکپارچه می‌کنیم و سپس از ابزارهای مدرن مانند SQLModel برای تعریف شمای جدول پایگاه داده و از تزریق وابستگی قدرتمند FastAPI برای ارائه سشن پایگاه داده به اندپوینت‌های API بهره می‌بریم.

پس از پوشش مفاهیم ضروری، به سراغ مفاهیم پیشرفته‌تر مانند پایگاه داده ناهمگام (PostgreSQL)، مدیریت تغییرات شمای پایگاه داده با مهاجرت‌های Alembic، تعریف روابط یک-به-چند و چند-به-چند SQL و لینک کردن مدل‌ها خواهیم رفت.

احراز هویت کاربر (User Authentication)

FastAPI پشتیبانی داخلی برای طرح OAuth2 دارد. احراز هویت امن کاربر را با OAuth2 Password Flow پیاده‌سازی کنید و ثبت‌نام کاربران، تأیید ایمیل کاربران ثبت‌شده، ورود به سیستم، کنترل دسترسی به اندپوینت‌ها با JWT، امکان بازنشانی رمز عبور و خروج کاربران را مدیریت کنید.

اعلان‌های ایمیل و پیامک (Email and SMS Notifications)

در سیستم مدیریت تحویل خود، ما به‌روزرسانی‌های ایمیل و پیامک را به گیرندگان در مورد تغییرات وضعیت حمل و نقل ارسال خواهیم کرد. مانند ارسال لینک‌های ردیابی با ایمیل هنگام ثبت سفارش، به‌روزرسانی وضعیت حمل و نقل و ارسال کدهای تأیید یا OTP به عنوان پیامک برای دریافت محموله‌ها.

تست API (API Testing)

اصول فریم‌ورک تست pytest را بیاموزید. تست‌های ساده بنویسید و اجرا کنید و از fixtures برای مدیریت وضعیت تست استفاده کنید. سپس، با استفاده از کلاینت تست داخلی FastAPI، تست‌هایی برای اندپوینت‌های API بنویسید.

ما مفاهیم مورد نیاز هنگام تست APIها را پوشش خواهیم داد، مانند راه‌اندازی پایگاه‌های داده تست، نادیده گرفتن وابستگی‌ها، احراز هویت در توابع تست و خودکارسازی تست با schemathesis.

فرانت‌اند؟ (Frontend - بخش جایزه)

به عنوان یک بخش جایزه، ما توسعه وب فرانت‌اند با React JS را نیز پوشش خواهیم داد. اصول ضروری مانند کامپوننت‌ها، مدیریت وضعیت، هوک‌ها، Context Providers و مسیریابی را فرا خواهید گرفت. با استفاده از ابزارهای مدرن و اثبات‌شده مانند Vite، Axios، React Router، Shadcn UI و Tanstack React Query.

داکر (Docker)

ابزار استاندارد صنعتی برای بسته‌بندی برنامه‌ها را بیاموزید. ما اصول داکر و مفاهیم ضروری کانتینرسازی (containerization) را پوشش خواهیم داد. و سرور API، پایگاه داده PostgreSQL، Redis و پردازشگر پس‌زمینه Celery خود را به صورت یکپارچه با Docker Compose اجرا خواهیم کرد.

اگر شما یک توسعه‌دهنده پایتون هستید که به دنبال ساخت APIهای وب سریع، قابل اعتماد و مدرن می‌باشید، و اگر مشتاق هستید تا بک‌اند را خودتان درک کرده و بسازید، این دوره نقطه شروع عالی برای شماست.

در اولین درس به ما بپیوندید و همین امروز شروع به ساخت کنید!


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

Introduction

  • مروری بر سرفصل‌ها Curriculum Overview

  • REST APIها چه هستند؟ What are REST APIs?

  • FastAPI چیست؟ What is FastAPI?

  • چرا FastAPI را انتخاب کنیم؟ Why choose FastAPI?

شروع کار Getting Started

  • نصب و راه‌اندازی Installation & Setup

  • نصب (سیستم‌عامل مک‌اواس) Installation (MacOS)

  • نقطه پایانی API API Endpoint

  • مستندات API API Documentation

پارامتر مسیر Path Parameter

  • راهنمایی نوع Type Hinting

  • دکوراتور تابع Function Decorator

  • پارامتر مسیر Path Parameter

  • ترتیب مسیرها Route Ordering

  • پایگاه داده ساده Simple Database

پارامتر کوئری Query Parameter

  • مقدمه Introduction

  • استثنای HTTP HTTP Exception

  • متد POST POST Method

  • بدنه درخواست Request Body

  • پارامترهای مسیر و کوئری Path & Query Parameters

عملیات CRUD CRUD Operations

  • متد PUT PUT Method

  • متد PATCH PATCH Method

  • متد DELETE DELETE Method

مدل Pydantic Pydantic Model

  • چرا از Pydantic استفاده کنیم؟ Why use Pydantic?

  • فیلدهای مدل Model Fields

  • شمارشی Python Python Enum

  • مدل پاسخ Response Model

  • مدل‌های مختلف Different Models

  • نکات و ترفندها Tips & Tricks

پایگاه داده SQL SQL Database

  • JSON JSON

  • SQL چیست؟ What is SQL?

  • پایگاه داده SQLite SQLite Database

  • درج سطر Insert Row

  • واکشی سطر Fetch Row

  • کلید اصلی Primary Key

  • به‌روزرسانی سطر Update Row

  • پارامترهای کوئری SQL SQL Query Parameters

  • پایگاه داده Database

  • استفاده از API API Usage

SQLModel SQLModel

  • مرور کلی Overview

  • مدیریت زمینه Context Manager

  • sqlmodel sqlmodel

  • موتور پایگاه داده Database Engine

  • طول عمر سرور Server Lifespan

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

  • نوع مشروح Annotated Type

  • وابستگی جلسه Session Dependency

  • مدل پایگاه داده در مقابل طرحواره API Database Model vs API Schema

AsyncIO AsyncIO

  • برنامه‌نویسی همگام Synchronous Programming

  • Async و Await Async & Await

  • وظیفه (Task) Task

  • گروه وظایف (Task Group) Task Group

PostgreSQL PostgreSQL

  • مرور کلی Overview

  • نصب Installation

  • متغیر محیطی Environment Variable

  • جلسه ناهمگام (Async Session) Async Session

  • روتر API API Router

  • لایه سرویس Service Layer

  • زنجیره وابستگی Dependency Chaining

  • نکات عمومی General Tips

ثبت‌نام کاربر Register User

  • مرور کلی Overview

  • مدل فروشنده Seller Model

  • نقطه پایانی ثبت‌نام Signup Endpoint

  • هش رمز عبور Password Hash

  • سرویس فروشنده Seller Service

ورود کاربر Login User

  • مروری بر OAuth2 OAuth2 Overview

  • فرم درخواست رمز عبور Password Request Form

  • تأیید رمز عبور Verify Password

  • JWT JWT

  • جریان رمز عبور Password Flow

  • طرح OAuth2 OAuth2 Scheme

  • رمزگشایی JWT Decode JWT

  • شناسایی کاربر Identify User

  • وابستگی کاربر User Dependency

  • انقضای توکن Token Expiry

  • احراز هویت کلاینت API API Client Authentication

  • Bearer HTTP HTTP Bearer

خروج کاربر Logout User

  • مرور کلی Overview

  • شناسایی JWT Identify JWT

  • Redis Redis

  • لیست سیاه توکن Token Blacklist

روابط SQL SQL Relations

  • مرور کلی Overview

  • کلیدهای خارجی Foreign Keys

  • UUID UUID

  • مرتبط کردن کاربر Relate User

  • اشکال‌زدایی Debugging

Alembic – مهاجرت‌های پایگاه داده Alembic - Database Migrations

  • راه‌اندازی Setup

  • اسکریپت بازنگری Revision Script

  • بازنگری خودکار Autogenerate Revision

شریک تحویل Delivery Partner

  • مرور کلی Overview

  • مدل پایگاه داده Database Model

  • نقاط پایانی شریک Partner Endpoints

  • سرویس پایه Base Service

  • سرویس کاربر User Service

  • اشکال‌زدایی Debugging

رویداد حمل و نقل Shipment Event

  • مرور کلی Overview

  • مدل رویداد Event Model

  • لایه سرویس Service Layer

  • جدول زمانی رویداد Event Timeline

  • نقاط پایانی اشکال‌زدایی Debugging Endpoints

  • لغو حمل و نقل Cancel Shipment

ارسال ایمیل Send Mail

  • راه‌اندازی کلاینت ایمیل Mail Client Setup

  • به‌روزرسانی‌های رویداد Event Updates

  • وظایف پس‌زمینه Background Tasks

  • قالب ایمیل Mail Template

پاسخ سفارشی Custom Response

  • پاسخ HTML HTML Response

  • پاسخ قالب Template Response

  • کلاس پاسخ Response Class

تأیید ایمیل Email Confirmation

  • مرور کلی Overview

  • توکن امن URL URL Safe Token

  • ایمیل ثبت‌نام Registration Email

  • نقطه پایانی تأیید Verify Endpoint

بازنشانی رمز عبور Password Reset

  • مرور کلی Overview

  • نقطه پایانی بازنشانی Reset Endpoint

  • فرم بازنشانی رمز عبور Password Reset Form

پیامک (SMS) SMS

  • مرور کلی Overview

  • راه‌اندازی Twilio Twilio Setup

  • ارسال پیامک Send SMS

  • کد تأیید Verification Code

بررسی Review

  • مرور کلی Overview

  • مدل بررسی Review Model

  • لینک بررسی Review Link

  • نقاط پایانی Endpoints

  • فرم HTML HTML Form

Celery Celery

  • مرور کلی Overview

  • Worker پس‌زمینه Background Worker

  • تابع وظیفه Task Function

  • نظارت Flower Flower Monitoring

چند به چند Many to Many

  • مرور کلی Overview

  • مدل لینک Link Model

  • تگ‌های حمل و نقل Shipment Tags

  • حمل و نقل‌های برچسب‌دار Tagged Shipments

  • فیلدهای اضافی Extra Fields

مدیریت خطا Error Handling

  • استثنا Exception

  • افزودن Handlerها Add Handlers

  • سایر استثناها Other Exceptions

میان‌افزار API API Middleware

  • افزودن میان‌افزار Add Middleware

  • میان‌افزار CORS CORS Middleware

مستندات API API Documentation

  • فراداده عمومی General Metadata

  • فراداده نقطه پایانی Endpoint Metadata

  • فراداده مدل Model Metadata

pytest pytest

  • نوشتن تست Write Test

  • اجرای تست Run Test

  • مثال حالت تست Test State Example

  • Fixture در Pytest Pytest Fixture

  • محدوده Fixture Fixture Scope

تست API API Testing

  • نقطه پایانی تست Test Endpoint

  • تست ناهمگام Async Test

  • بازنویسی وابستگی Override Dependency

  • پایگاه داده تست Test Database

  • احراز هویت Authentication

  • خودکارسازی تست Automate Testing

React JS React JS

  • مرور کلی Overview

  • راه‌اندازی Setup

  • وضعیت کامپوننت Component State

  • فرم‌ها Forms

  • ارائه دهنده زمینه Context Provider

  • کلاینت Axios Axios Client

  • API تایپ‌اسکریپت Swagger Swagger Typescript API

  • Tanstack React Query Tanstack React Query

فرانت‌اند Frontend

  • راه‌اندازی Setup

  • صفحه ورود Login Page

  • احراز هویت مسیر Route Authentication

  • نوع کاربر User Type

  • صفحه داشبورد Dashboard Page

  • صفحه حساب کاربری Account Page

  • صفحه ارسال حمل و نقل Submit Shipment Page

  • صفحه به‌روزرسانی حمل و نقل Update Shipment Page

  • اسکن QR QR Scanning

Docker Docker

  • مقدمه Introduction

  • کانتینرهای Docker Docker Containers

  • سرور API API Server

  • پایگاه داده PostgreSQL PostgreSQL Database

  • Docker Compose Docker Compose

  • بک‌اند Backend

استقرار Deployment

  • Render Render

  • PostgreSQL و Redis PostgreSQL & Redis

  • سرویس وب Web Service

گیت‌وی API (API Gateway) API Gateway

  • مقدمه Introduction

  • راه‌اندازی AWS CLI AWS CLI Setup

  • رجیستری کانتینر الاستیک AWS AWS Elastic Container Registry

  • AWS App Runner AWS App Runner

  • گیت‌وی API آمازون (AWS API Gateway) AWS API Gateway

  • کشینگ Caching

نکات و ترفندها Tips & Tricks

  • ساختار فایل File Structure

  • صفحه‌بندی Pagination

  • لاگ‌برداری Logging

  • سخنرانی جایزه Bonus Lecture

نمایش نظرات

آموزش راهنمای جامع FastAPI و توسعه بک‌اند
جزییات دوره
23 hours
186
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,692
4.4 از 5
دارد
دارد
دارد
Rahul Mula
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Rahul Mula Rahul Mula

Python Developera Python توسعه دهنده، نویسنده و دانش آموز Rahul در اینجا. من چند کتاب در مورد علوم رایانه ای مانند پایتون برای مبتدیان، علم داده ها با پایتون و غیره نوشته ام که در آمازون منتشر شده اند. شما می توانید آنها را بررسی کنید اگر می خواهید در آمازون بخواهید آن را با عنوان کتاب و نام من جستجو کنید.