Skip to content

WebProgramming14021/Project-Phase3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

راهنمای پیاده‌سازی Infrastructure برای پروژه درس برنامه‌سازی وب

لطفاً در پیاده‌سازی بخش Infrastructure پروژه‌ی خود به موارد زیر توجه ویژه‌ای داشته باشید:

  1. داکر: لازم است که image بخش‌های مختلف پروژه مانند Frontend و Backend را با استفاده از dockerfile بسازید (build کنید) و سپس این بخش‌ها به صورت container های مجزا اجرا کنید. همچنین، به جای نصب مستقیم پایگاه‌داده و یا موارد دیگر روی دستگاه و اجرای آنها، لازم است از image های آماده داکر برای ایجاد container های پایگاه‌داده (یا cache در صورت وجود) استفاده کنید.
  2. نتورکینگ: در ابتدا با expose کردن پورت‌های مورد نیاز، ارتباط بین container ها ایجاد می‌شود. در نهایت ارتباط بین container ها هنگام استفاده از docker-compose نباید از طریق دستگاه (یا همان localhost) صورت بگیرد و باید از طریق شبکه داخلی داکر با name resolution باشد.
  3. مانا بودن: اطمینان از اینکه داده ‌های پایگاه داده در دستگاه ذخیره می‌شوند و پس از پایین آوردن و بالا بردن container داده ای از دست نمی‌رود.
  4. پروکسی معکوس: هر دو سرویس Frontend و Backend روی یک سرور اجرا می‌شوند و با استفاده از nginx reverse proxy درخواست‌های خارجی بین این سرویس‌ها توزیع می‌شود. در نهایت ارتباط با صفحه‌های front باید از طریق پورت expose شده nginx باشد و پورت Frontend نباید expose شده باشد.
  5. داکر کامپوز: پس از ایجاد داکر فایل‌ های مختلف باید بتوانید با استفاده از docker-compose پروژه خود را اجرا کنید. اجزای مختلف باید ارتباط درستی داشته باشند و داده های مهم باید مانا باشند.
  6. ویژگی‌های اضافی: استفاده از gunicorn یا مسائلی مانند انجام health check روی پایگاه داده و مطمئن شدن از عملکرد صحیح‌ آن قبل از اینکه سرویس backend بالا بیاید و به خطا بخورد. داشتن صفحه 404 not found روی nginx که به خوبی کاربران را راهنمایی کند. و ...
  7. قراردادن بر روی GitHub: همانند بخش‌های قبلی کد‌ها و configهای این بخش را نیز روی GitHub قرار دهید و دسترسی لازم به دستیار تحویل‌گیرنده داده شود.
  8. مستندسازی: مشخص کردن فایل‌های استفاده شده در این بخش و توضیح مختصر راجع به هر فایل.

این موارد برای موفقیت در پیاده‌سازی پروژه شما ضروری هستند.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published