From f8c63050781b4cc3e41f473cbbb57d84af46b34c Mon Sep 17 00:00:00 2001 From: Ilya Andriyanov <80912805+Regikon@users.noreply.github.com> Date: Sat, 21 Dec 2024 08:58:19 +0300 Subject: [PATCH] Update README.md --- README.md | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a0e0396..573297a 100644 --- a/README.md +++ b/README.md @@ -27,16 +27,38 @@ - **UI/UX**: Екатерина Гражданкина - **Frontend**: Алексей Зотов - **Backend**: Никита Архаров +- **СУБД**: Роман Фильченков ## Ссылки на внешние ресурсы -- [Стандартная ссылка на деплой](http://89.208.199.175) +- [Стандартная ссылка на деплой](https://uart.site) - [Репозиторий бэкенда](https://github.com/go-park-mail-ru/2024_2_VKatuny) - [Ссылка на документацию api в репозитории бэкенда](https://github.com/go-park-mail-ru/2024_2_VKatuny/tree/feature_vacancies-list-api/api) ## О продукте -Данный раздел будет заполнен по готовности четких представлений о продукте +Продукт uArt - это сайт для поиска работы для творческих специалистов. +Идеей продукта было совмещение сайтов для размещения произведений таких +специалистов и сайтов для поиска работы. Существует достаточно похожий [пример](https://www.artstation.com/?sort_by=community&dimension=all) +в области геймдева, и на наш взгляд, это единственный пример - причем англоязычный. + +По результатам семестра продукт не совсем реализует идею - не успели это реализовать. Но так или иначе, он работает. + +## Архитектура фронтенда + +Было принято решение реализовывать flux-подобную архитектуру. Она приведена на картинке. +![Схема фронта drawio](https://github.com/user-attachments/assets/169107fa-1469-47a5-ac50-59ae938ee5b1) + +В целом реализуется однонаправленный поток данных. StoreManager это связующее звено между virtual DOM и обобщенным +flux'овым Store. При приходе любого действия StoreManager вызывает перестроение virtual DOM и так поддерживается тонкость +View слоя (он почти не имеет состояния). + +С одной стороны это позволяет держать данные консистентными и без аномалий при грамотном использовании Store. Однако важно +понимать, что любой Store - это глобальный Singleton внутри StoreManager, поэтому всегда нужно следить за тем, что лежит +в Store и при необходимости обновлять его. + +View и Store разделены ActionCreators, которые скрывают за собой от View события Store'ов и скрывают от Store источник данных. +Плюсом этого стало, что вся обработка сетевых ошибок лежит именно в них и в одном месте. ## Установка и запуск @@ -65,12 +87,3 @@ npm run start ```bash npm run build ``` - -Запуск дев-сервера (устарел, но пока нужен для прода) осуществляется при помощи команды - -```bash -npm run dev-server -``` - -При этом модифицировать ip-адрес и порт, на котором будет слушать сервер, -можно внутри файла ./src/server/server.mjs \ No newline at end of file