ظاهر کلی برنامه بدین صورت است:
![ظاهر برنامه](https://s28.picofile.com/file/8463746326/user.png)
# پروژه اولیه
پروژه اولیه را از
[این لینک](/problemset/assignments/4367/download_problem_initial_project/183836/)
دانلود کنید.
<details class="green">
<summary> ساختار فایلها </summary>
```
quera-users
├── public
│ ├── favicon.ico
│ └── index.html
├── server
│ └── server.js
├── src
│ ├── components
│ │ └── Card.js
│ ├── App.css
│ ├── App.js
│ ├── index.js
│ └── setupTests.js
├── package-lock.json
└── package.json
```
</details>
<details class="violet">
<summary> راه اندازی پروژه</summary>
برای اجرای پروژه، باید`NodeJS` و `npm` را از قبل نصب کرده باشید.
+ ابتدا پروژهی اولیه را دانلود و از حالت فشرده خارج کنید.
+ در پوشهی `quera-forms` ، دستور `npm install` را برای نصب نیازمندیها اجرا کنید.
+ در همین پوشه دستور `npm run server` را برای راه اندازی سرور اجرا کنید.
+ در همین پوشه، دستور `npm start` را برای راهاندازی پروژه اجرا کنید.
</details>
# توضیحات
در این مسئله شما باید دیتای چند کاربر کوئرایی را از آدرس `http://localhost:3500/users` دریافت کنید و بوسیله هوک `useMemo` این دیتا را کش کنید و در ادامه با استفاده از الگوریتم `Quick Sort` آنها را به گونه ای مرتب کنید و نمایش دهید که از راست به چپ سن کاربران افزایش یابد.
# نکات
+ شما تنها مجاز به اعمال تغییرات درون فایل های `App.js` و `Card.js` هستید.
+ برای آشنایی بیشتر با الگوریتم `Quick Sort` میتوانید به این [لینک](https://fa.wikipedia.org/wiki/%D9%85%D8%B1%D8%AA%D8%A8%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C_%D8%B3%D8%B1%DB%8C%D8%B9) مراجعه کنید.
+ به هنگام ثبت پاسخ، پروژه را با ساختار زیر ارسال کنید:
```
[your-zip-file-name].zip
├── public
│ ├── favicon.ico
│ └── index.html
├── server
│ └── server.js
├── src
│ ├── components
│ │ └── Card.js
│ ├── App.css
│ ├── App.js
│ ├── index.js
│ └── setupTests.js
├── package-lock.json
└── package.json
```