Финальный индивидуальный проект
Cайт онлайн объявлений, аналог "Авито".
Макет доступен здесь
- Пока пользователь не авторизован, он имеет доступ только к Главной странице, на которой отображаются товары, которые размещены на площадке.
- Пользователь может осуществлять поиск по объявлениям с помощью строки поиска товара.
- Пользователь имеет возможность авторизации и регистрации на сайте.
- В личном кабинете отображается: приветствие пользователя, имя и фамилия, аватарка и телефон.
- Все поля могут редактироваться.
- Если пользователь не редактировал эти поля, то кнопка “Сохранить” неактивна.
- Ниже в профиле отображаются “Мои товары”.
- По клику на товар открывается карточка товара.
- Указаны цена, наименование и описание товара, телефон и имя продавца. Также представлены отзывы пользователей о товаре.
- Если эту карточку открывает продавец, он имеет возможность редактировать цену, наименование и описание товара.
- Есть возможность снять объявление с публикации.
- По клику на кнопку “Разместить объявление” открывается модальное окно и у продавца есть возможность добавить цену, наименование и описание товара, и его картинку. В конце окна кнопка “Опубликовать”.
- Информация о продавце: аватарка, имя, фамилия, город, дата размещения первого объявления.
- Кнопка для отображения телефона продавца.
- Список всех товаров продавца.
- Список всех отзывов о товаре с указанием имени продавца, его аватарки и даты размещения отзыва.
- Пользователь имеет возможность указать название, описание, цену товара, а также загрузить до 5 фотографий.
- Пользователь имеет возможность изменить название, описание, цену товара, а также удалить / загрузить до 5 фотографий.
Склонируйте репозиторий:
git clone https://github.com/Yarengina/SkyVito.git
Для запуска бэкенда потребуется docker и docker-compose. Перейдите в директорию проекта и запустите бэкенд командой:
docker-cmopose up -d
Бэкенд и документация в Swagger GUI будут доступны по адресу: http://localhost:8090/
Остановить работу бэкенда можно командой:
docker-compose down
- React
- Redux + Redux Toolkit + RTK Query
- React Router DOM, реализация routing
- js-cookie, react-responsive, react-hook-form