ظاهر کلی برنامه به صورت زیر است:
![تصویر خروجی](https://s29.picofile.com/file/8462959350/1_1_.png)
# توضیحات
علی که همچنان مشغول به فعالیت در حوزه وب است پس از تلاشهای فراوان توانسته یک سرور کوچک برای خودش طراحی کند که اطلاعات چند پست را به ما برمیگرداند.
حال او میخواهد که اطلاعات پستها را روی صفحه مرورگر نمایش دهد و شما باید به او برای انجام اینکار کمک کنید.
# پروژه اولیه
پروژه اولیه را از
[این لینک](/problemset/assignments/4367/download_problem_initial_project/182544/)
دانلود کنید.
<details class="green">
<summary> ساختار فایلها </summary>
```
showing-posts
├── server
│ └── server.js
├── index.html
├── package.json
└── script.js
```
</details>
<details class="violet">
<summary> راه اندازی پروژه</summary>
برای اجرای پروژه، باید`NodeJS` و `npm` را از قبل نصب کرده باشید.
+ ابتدا پروژهی اولیه را دانلود و از حالت فشرده خارج کنید.
+ در پوشهی `showing-posts` ، دستور `npm install` را برای نصب نیازمندیها اجرا کنید.
+ در همین پوشه، دستور `npm run server` را برای راهاندازی سرور پروژه اجرا کنید.
+ پس از انجام موفق این مراحل، فایل `index.html` را در مرورگر باز کنید.
</details>
# خواسته های مسئله
+ ساخت کلاسی تشکیل شده از پارامتر هایی که از سرور قرار است دریافت شود.
+ نوشتن تابعی که به آدرس `http://localhost:3000/posts` درخواست بفرستد و پارامتر های `id` و `title` و `body` را به ما برگرداند.
+ نوشتن تابعی که بتواند هر یک از پستهای دریافت شده را درون یک تگ `li` با ساختار زیر قرار دهد و در نهایت آنها را به تگ `ul` با آیدی `post-list` اضافه کند:
```html index.html
<li>
<h3>پست ۱</h3>
<p>.این اولین پست است</p>
<em>شماره ۱</em>
</li>
```
+ صدا زدن صحیح توابع تعریف شده.
# نکات
+ شما تنها مجاز به اعمال تغییرات در فایل `script.js` هستید.
+ از ایجاد تغییر در باقی فایلها خودداری فرمایید.
+ به هنگام ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید:
```
[your-zip-file-name].zip
├── server
│ └── server.js
├── index.html
├── package.json
└── script.js
```