اپلیکیشن اندرویدی فلشکارت آموزشی ساخت سیستم های Task Management Platform Backend با اکسپرس.js
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساخت سیستم های Task Management Platform Backend با اکسپرس.js
موضوع کلی: برنامه نویسی
موضوع میانی: اکسپرس (Express.js)
📋 سرفصلهای دوره
- 1. مقدمه ای بر توسعه Back-end
- 2. آشنایی با Node.js و اکوسیستم آن
- 3. معرفی Express.js: چرا و برای چه؟
- 4. نصب و راه اندازی محیط توسعه (Node, npm, VS Code)
- 5. ساخت اولین پروژه Express
- 6. آشنایی با فایل `package.json`
- 7. اجرای اولین سرور "Hello World"
- 8. مفاهیم پایه HTTP: متدها، وضعیتها، هدرها
- 9. سیستم مسیریابی (Routing) در Express
- 10. پارامترهای مسیر (Route Parameters)
- 11. پارامترهای کوئری (Query Parameters)
- 12. آبجکتهای Request و Response در Express
- 13. معرفی Middleware و کاربرد آن
- 14. Middlewareهای داخلی Express (مثل `express.json`)
- 15. ساخت Custom Middleware
- 16. مدیریت خطا در Express با Middleware
- 17. استفاده از Async/Await در Express Routes
- 18. مدیریت درخواستهای POST و Body Parser
- 19. سرو کردن فایلهای استاتیک (Static Files)
- 20. سازماندهی پروژه Express: ساختار پوشهها
- 21. Route Handlers و Route Controllers
- 22. Router Level Middleware
- 23. Application Level Middleware
- 24. Express Router (Modular Routers)
- 25. Best Practices در مسیریابی و کنترلرها
- 26. آشنایی با پایگاههای داده برای Back-end
- 27. انتخاب پایگاه داده: MongoDB در مقابل SQL
- 28. نصب و راهاندازی MongoDB (Local و Atlas)
- 29. معرفی Mongoose: ODM برای MongoDB و Node.js
- 30. اتصال Express به MongoDB با Mongoose
- 31. تعریف Schema در Mongoose
- 32. ساخت Model در Mongoose
- 33. عملیات CRUD: ایجاد (Create) سند جدید
- 34. عملیات CRUD: خواندن (Read) همه اسناد
- 35. عملیات CRUD: خواندن (Read) یک سند خاص
- 36. عملیات CRUD: بهروزرسانی (Update) سند
- 37. عملیات CRUD: حذف (Delete) سند
- 38. اعتبارسنجی (Validation) دادهها با Mongoose
- 39. مفاهیم پیشرفته Mongoose: Virtuals و Population
- 40. مدیریت خطا در عملیات پایگاه داده
- 41. طراحی Schema برای Task (عنوان، توضیحات، وضعیت، تاریخ سررسید)
- 42. ایجاد Task Model با Mongoose
- 43. طراحی Endpoints برای Task Management (اصول RESTful)
- 44. پیادهسازی GET /api/tasks (دریافت لیست تمام تسکها)
- 45. پیادهسازی GET /api/tasks/:id (دریافت جزئیات یک تسک)
- 46. پیادهسازی POST /api/tasks (ایجاد تسک جدید)
- 47. پیادهسازی PUT /api/tasks/:id (بهروزرسانی یک تسک)
- 48. پیادهسازی PATCH /api/tasks/:id (بهروزرسانی جزئی یک تسک)
- 49. پیادهسازی DELETE /api/tasks/:id (حذف یک تسک)
- 50. اعتبارسنجی ورودیها با Express-validator (یا مشابه)
- 51. پیادهسازی فیلترینگ پیشرفته برای تسکها (بر اساس وضعیت، تاریخ)
- 52. پیادهسازی مرتبسازی (Sorting) برای تسکها
- 53. پیادهسازی صفحهبندی (Pagination) برای تسکها
- 54. پیادهسازی جستجو (Searching) در تسکها
- 55. استفاده از Service Layer برای منطق کسبوکار
- 56. مقدمهای بر احراز هویت (Authentication) و مجوز (Authorization)
- 57. هش کردن رمز عبور با `bcrypt.js`
- 58. تعریف Schema برای کاربر (نام کاربری، ایمیل، رمز عبور، نقش)
- 59. پیادهسازی ثبت نام کاربر (POST /api/auth/register)
- 60. پیادهسازی ورود کاربر (POST /api/auth/login)
- 61. معرفی JSON Web Tokens (JWT)
- 62. تولید JWT پس از ورود موفق
- 63. ذخیرهسازی JWT در سمت کلاینت (مفاهیم اولیه)
- 64. محافظت از مسیرها با JWT Middleware
- 65. استخراج اطلاعات کاربر از JWT
- 66. مدیریت نقشهای کاربری (Role-Based Access Control - RBAC)
- 67. پیادهسازی Middleware برای مجوزهای مبتنی بر نقش
- 68. جریان فراموشی رمز عبور: ایجاد توکن بازنشانی
- 69. جریان فراموشی رمز عبور: ارسال ایمیل (مفاهیم اولیه)
- 70. جریان فراموشی رمز عبور: بازنشانی رمز عبور
- 71. طراحی Schema برای پروژه (عنوان، توضیحات، اعضا)
- 72. پیوند دادن تسکها به پروژهها (Project-Task Relationship)
- 73. پیادهسازی Endpoints برای مدیریت پروژهها
- 74. تخصیص کاربر به تسکها یا پروژهها
- 75. آپلود فایل برای تسکها با `multer`
- 76. مدیریت ذخیرهسازی فایل (Local Storage vs. Cloud Storage)
- 77. بروزرسانی وضعیت تسکها و اعلانات (مفاهیم اولیه)
- 78. معرفی WebSockets برای ارتباط بلادرنگ (Real-time)
- 79. ادغام `socket.io` با Express (مفاهیم و کاربرد)
- 80. پیادهسازی قابلیتهای Real-time محدود (مثل بهروزرسانی وضعیت تسک)
- 81. اعتبارسنجی و پالایش ورودیها برای امنیت
- 82. جلوگیری از آسیبپذیریهای رایج وب (XSS, CSRF - مفاهیم)
- 83. توضیح CORS (Cross-Origin Resource Sharing)
- 84. پیادهسازی CORS Middleware
- 85. حفاظت از متغیرهای محیطی با `dotenv`
- 86. استفاده از `helmet.js` برای امنیت هدرهای HTTP
- 87. پیادهسازی Rate Limiting برای جلوگیری از حملات
- 88. لاگبرداری (Logging) و پایش (Monitoring) با `morgan`
- 89. مدیریت خطاها به شیوه حرفهای و ارسال پاسخ مناسب
- 90. مستندسازی API با Swagger/OpenAPI (مقدمه)
- 91. مقدمهای بر تستنویسی در Back-end
- 92. Unit Testing با Mocha/Chai (یا Jest)
- 93. Integration Testing برای Endpoints
- 94. Mocking کردن Dependencyها برای تست
- 95. آمادهسازی پروژه برای استقرار در Production
- 96. مدیریت فرآیندها با PM2 برای Node.js
- 97. معرفی Docker برای کانتینرسازی
- 98. ساخت Dockerfile برای Express Application
- 99. استقرار (Deployment) در پلتفرمهای ابری (Heroku, Render, AWS - مفاهیم)
- 100. نکات نهایی و گامهای بعدی در توسعه Back-end
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.