اپلیکیشن اندرویدی فلشکارت آموزشی استفاده از MongoDB در فریمورک FastAPI
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره استفاده از MongoDB در فریمورک FastAPI
موضوع کلی: برنامه نویسی
موضوع میانی: مانگودیبی (MongoDB)
📋 سرفصلهای دوره
- 1. معرفی دوره و نقشه راه
- 2. FastAPI چیست؟ مزایا و ویژگیها
- 3. MongoDB چیست؟ معرفی پایگاههای داده NoSQL
- 4. مقایسه SQL و NoSQL: چه زمانی از MongoDB استفاده کنیم؟
- 5. چرا ترکیب FastAPI و MongoDB قدرتمند است؟
- 6. نصب پایتون و مدیریت محیطهای مجازی (venv)
- 7. نصب و راهاندازی FastAPI و Uvicorn
- 8. نصب MongoDB (نسخه Community) به صورت محلی
- 9. آشنایی با MongoDB Compass: ابزار گرافیکی مدیریت
- 10. ساخت اولین پروژه "Hello World" با FastAPI
- 11. ساختار داده در MongoDB: دیتابیس، کالکشن، داکیومنت
- 12. آشنایی با BSON و انواع دادههای آن
- 13. کار با MongoDB Shell: اتصال و دستورات پایه
- 14. اولین عملیات CRUD: ایجاد داکیومنت (InsertOne, InsertMany)
- 15. خواندن داکیومنتها: متدهای find و findOne
- 16. فیلتر کردن نتایج: استفاده از Query Filters
- 17. عملگرهای مقایسهای در کوئریها (eq, gt, gte, lt, lte, ne)
- 18. عملگرهای منطقی در کوئریها (and, or, not, nor)
- 19. جستجو در آرایهها و داکیومنتهای تودرتو
- 20. بهروزرسانی داکیومنتها: متدهای updateOne و updateMany
- 21. عملگرهای بهروزرسانی: set, unset, inc
- 22. کار با آرایهها: عملگرهای push, pull, addToSet
- 23. حذف داکیومنتها: متدهای deleteOne و deleteMany
- 24. مفهوم ObjectId و نقش آن به عنوان کلید اصلی
- 25. ایندکسگذاری (Indexing): چرا و چگونه؟
- 26. ایجاد و مدیریت ایندکسهای Single Field
- 27. ایندکسهای ترکیبی (Compound Indexes)
- 28. آشنایی با فریمورک تجمیع (Aggregation Framework)
- 29. مراحل پایه در Aggregation: match, group, project
- 30. مفهوم Schema Validation در MongoDB
- 31. ساختار یک اپلیکیشن FastAPI: Path Operations
- 32. استفاده از دکوراتورهای GET, POST, PUT, DELETE
- 33. پارامترهای مسیر (Path Parameters)
- 34. پارامترهای کوئری (Query Parameters)
- 35. مدلهای Pydantic برای اعتبارسنجی دادهها
- 36. دریافت بدنه درخواست (Request Body)
- 37. اعتبارسنجیهای پیشرفته در Pydantic
- 38. مدیریت پاسخها (Response Model)
- 39. کدهای وضعیت HTTP و مدیریت خطاها
- 40. مفهوم Dependency Injection در FastAPI
- 41. سازماندهی پروژه با APIRouter
- 42. آشنایی با میانافزارها (Middleware)
- 43. کار با فرمها و فایلها (Form Data & File Uploads)
- 44. مستندسازی خودکار با Swagger UI و ReDoc
- 45. عملیات ناهمگام (Async/Await) در FastAPI
- 46. انتخاب درایور: PyMongo (همگام) در مقابل Motor (ناهمگام)
- 47. نصب و راهاندازی درایور Motor
- 48. ایجاد ماژول اتصال به دیتابیس
- 49. مدیریت چرخه حیات اتصال (Startup/Shutdown Events)
- 50. ساختار پروژه: تفکیک لایههای دیتابیس، مدل و API
- 51. ساخت مدلهای Pydantic برای کالکشنهای MongoDB
- 52. چالش ObjectId و تبدیل آن برای Pydantic
- 53. پیادهسازی یک کلاس کمکی برای مدیریت ObjectId
- 54. پیادهسازی اندپوینت ایجاد داکیومنت (Create - POST)
- 55. پیادهسازی اندپوینت خواندن یک داکیومنت با ID (Read - GET)
- 56. پیادهسازی اندپوینت خواندن لیستی از داکیومنتها (Read - GET)
- 57. پیادهسازی اندپوینت بهروزرسانی داکیومنت (Update - PUT)
- 58. پیادهسازی اندپوینت حذف داکیومنت (Delete - DELETE)
- 59. مدیریت خطای "Not Found" (404) در عملیات CRUD
- 60. طراحی API برای کوئریهای پیچیده: فیلترینگ داینامیک
- 61. پیادهسازی صفحهبندی (Pagination) برای لیست نتایج
- 62. پیادهسازی مرتبسازی (Sorting) نتایج از طریق API
- 63. استفاده از Response Model برای کنترل خروجی API
- 64. اعتبارسنجی ورودیها قبل از ارسال به دیتابیس
- 65. مثال عملی: ساخت یک API کامل برای مدیریت کاربران
- 66. مثال عملی: ساخت یک API کامل برای یک وبلاگ (پستها و کامنتها)
- 67. استفاده از Dependency Injection برای تزریق کانکشن دیتابیس
- 68. مدیریت خطاهای دیتابیس و تبدیل آنها به پاسخ HTTP مناسب
- 69. استفاده از Background Tasks برای عملیات طولانی
- 70. بهینهسازی کوئریها از طریق API
- 71. طراحی اسکما در MongoDB: Embedding در مقابل Referencing
- 72. پیادهسازی روابط یک-به-یک و یک-به-چند
- 73. پیادهسازی روابط چند-به-چند
- 74. اجرای Aggregation Pipeline از طریق FastAPI
- 75. مثال: ساخت یک اندپوینت برای گزارشگیری با Aggregation
- 76. ایندکسگذاری پیشرفته: Text Indexes برای جستجوی متنی
- 77. پیادهسازی جستجوی Full-text از طریق API
- 78. کار با Geospatial Data و کوئریهای مکانی
- 79. امنیت: مقدمهای بر احراز هویت و مجوز دسترسی
- 80. پیادهسازی احراز هویت با JWT Tokens
- 81. محافظت از اندپوینتهای CRUD با توکن JWT
- 82. مدیریت نقشها و سطوح دسترسی (Authorization)
- 83. آپلود و ذخیرهسازی فایلها در MongoDB با GridFS
- 84. ساخت اندپوینت برای آپلود و دانلود فایل از GridFS
- 85. تراکنشها (Transactions) در MongoDB و کاربرد آنها
- 86. استفاده از تراکنشها در عملیات چندمرحلهای API
- 87. بهینهسازی عملکرد: تحلیل کوئریها با explain()
- 88. Caching نتایج دیتابیس با Redis
- 89. استفاده از WebSocket برای ارتباطات Real-time با دیتابیس
- 90. اعتبارسنجی در سطح دیتابیس با JSON Schema
- 91. مقدمهای بر تست نرمافزار: Unit, Integration, E2E
- 92. نوشتن تستهای واحد (Unit Tests) برای منطق برنامه
- 93. استفاده از Pytest و HTTPX برای تست اندپوینتهای FastAPI
- 94. Mock کردن کانکشن دیتابیس در تستها
- 95. داکرایز کردن اپلیکیشن FastAPI
- 96. داکرایز کردن دیتابیس MongoDB
- 97. اتصال اپلیکیشن و دیتابیس با Docker Compose
- 98. راهاندازی و استفاده از MongoDB Atlas (سرویس ابری)
- 99. استقرار (Deploy) اپلیکیشن روی یک سرویس ابری
- 100. جمعبندی دوره، نکات نهایی و مراحل بعدی یادگیری
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.