# ტექნიკური მოთხოვნები

### Back-End

* **Framework**: Laravel 11
* **Linter & Formatter:**  [PHP-CS-Fixer](https://redberry.gitbook.io/resources/php-is-linteri)
* **Database:** MySQL
* **Api protection** - [Laravel Sanctum](https://laravel.com/docs/11.x/sanctum)
* **Admin Panel** - [Filament](https://filamentphp.com/)
* **Api Testing** - PHPunit

### Front-End

* **Framework:** React
* React Router
* API ზე რექვესტები უნდა იგზავნებოდეს [React Tanstack Query](https://tanstack.com/query/latest)-ის გამოყენებით
* **Linter & Formatter:**  [ESLint & Prettier](https://redberry.gitbook.io/resources/eslint-and-prettier-is-gamartva-vue.js-proektshi)&#x20;
* სტილები დაწერილი უნდა იყოს [**TailwindCSS**](https://tailwindcss.com/)-ის გამოყენებით.
* ვალიდაციები გაკეთებული უნდა იყოს [React Hook Form](https://react-hook-form.com/)-ის გამოყენებით

{% hint style="info" %}
გაითვალისწინეთ [React-ში კოდის წერის მიდგომები](https://redberry.gitbook.io/resources/kodisa-da-proektis-shepasebis-kriteriumebi/reaktis-kodis-khariskhis-kriteriumebi)
{% endhint %}

*<mark style="background-color:blue;">Common</mark>*

* Git-ის კომიტები უნდა იცავდეს [სემანტიკური კომიტების](https://redberry.gitbook.io/resources/git-is-semantikuri-komitebi) ფორმატს.
* უნდა იყოს დაცული Clean Code პრინციპები.
* პროექტი უნდა იყოს ატანილი სერვერზე.

*<mark style="background-color:blue;">**Readme**</mark>*

ვებრვერდს უნდა ქონდეს ტექნიკური დეტალური აღწერა.

#### *<mark style="background-color:blue;">DrawSQL</mark>*

ვებგვერდს უნდა ქონდეს შესაბამისი მონაცემთა ბაზის დიაგრამა.

{% hint style="danger" %}
**No Authorization Boilerplate**

არ გამოვიყენოთ მზა ავტორიზაციის ბოილერფლეითები, როგორიცაა: Jetstream, breeze და Fortify.
{% endhint %}
