Всем привет. Задача для опытного React разработчика. Задача не сложная. в большей степени функционал стандартный. Бекенд готов.
дэдлайн 27.03
О проекте
Портал для просмотра папок и скачивания файлов с бекенда.
Особенности
Доступ только авторизованному юзеру. У авторизованного юзера 3 роли:
-админ
-менеджер
-юзер
У каждой роли - разный набор прав.
Дизайн
Дизайн есть только в виде прототипа, для UI нужно использовать https://material-ui.com/. То есть взять готовые компоненты и из них собрать страницы. Структуру страниц брать из прототипа. В процессе работы возможны небольшие правки, касаемые дизайна (поменять в глобально в теме цвета, отступы).
Прототип для ознакомления здесь https://drive.google.com/drive/folders/1LbVvxOM1JoHEWyQidzgR-o1LtaGnV8sv?usp=sharing
Исполнителю передадим в фигме
Мобильную версию собирать на свое усмотрение.
Стек
-React
-React Router
-Redux
-Redux Saga
-React Hook Forms / Final Forms
-Material UI (https://material-ui.com/)
-Immer.js
-Axios
Для начала работы есть два варианта:
-даем готовую структуру проекта (нужно будет в ней разобраться и работать по ней)
-даем код модулей API с использованием Axios, остальное на ваше усмотрение
Функционал
Авторизация
-логин по почте и паролю
-запрос на сброс пароля (юзер указывает свою почту)
-форма установки нового пароля (юзер приходит по ссылке с письма)
Настройки профиля
-редактирование юзером своих полей
-изменение пароля (с указанием старого пароля)
Файловый менеджер
Просмотр структуры папок, скачивание файлов
-слева сайдбар с выводом структуры папок в виде дерева (https://material-ui.com/components/tree-view/)
-справа - список файлов и папок
-при клике на папку - переход внутрь папки
-над списком файлов - поле для поиска (требует запроса к АПИ)
Управление компаниями
Компания - это организация, за которой закреплена какая-то папка с файлами и набор юзеров. У нее есть набор полей с адресом, названием и закрепленной папкой.
Компаниями может управлять только админ. Он может компании:
-создавать / редактировать
-удалять
-просматривать
Так-же админ может зайти на страницу просмотра компании, где выводится:
-список ее юзеров
-структура доступных файлов и папок
-поля компании
Управление пользователями
Роль “Админ”
Админ может всех юзеров:
-создавать / редактировать
-просматривать
-удалять
Админ не может удалить сам себя.
Роль “Менеджер”
Менеджер может:
-видеть юзеров своей компании
-создавать / редактировать / удалять юзеров своей компании