reservoir

0
год назад
README.md

Web Frontend: Прототип панели администратора для управления резервуарами

Проект представляет собой прототип панели администратора для управления резервуарами. В проекте реализована возможность выполнения CRUD-операций с резервуарами:

  • получить список резервуаров;
  • добавить новый резервуар;
  • изменить информацию о резервуаре;
  • удалить резервуар;
  • заблокировать / разблокировать резервуар. Также реализовали функционал поиска резервуара по имени.

В проекте использовали функциональные компоненты, хуки и управление состоянием.

Проект создан с помощью инструмента для сборки и разработки фронтенд-приложений - Vite и JavaScript-библиотеки - React.

Для обработки запросов API с клиентской стороны было решено создать сервер, так как прямые запросы к API не работали из-за ограничений CORS (Cross-Origin Resource Sharing).

CORS — это механизм безопасности, который ограничивает доступ к ресурсам между различными доменами. Проблемы с CORS возникали при попытке клиента отправить запросы напрямую к API, находящемуся на другом домене или порту.

Для решения этой проблемы был создан сервер-прокси, который принимает запросы от клиента и перенаправляет их к API. Это позволяет избежать ограничений CORS, так как сервер и клиент теперь работают на одном домене, и запросы обрабатываются через этот сервер.

Адаптивность дизайну добавили используя Tailwind CSS.

Технологии

  • Язык программирования: typescript;
  • Управление состоянием: Zustand;
  • HTTP-клиент: Axios;
  • Линтер: typescript-eslint
  • Стили: Tailwind CSS

Развертывание проекта

1. Клонирование репозитория

Склонируйте этот репозиторий на свою машину:

2. Установка зависимостей

Установите все зависимости с помощью pnpm:

3. Запуск

Запустите сервер:

Запустите приложение:

4. Docker

Для запуска приложения в Docker:

Соберите Docker-образ:

Запустите контейнер: