tech-internship
Описание
Языки
- TypeScript81%
- SCSS17%
- JavaScript1,2%
- HTML0,6%
- Dockerfile0,2%
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
2 года назад
README.md
Tech internship
Quick start (Docker)
Quick start (without Docker)
Задачи проекта
Страница всех объявлений
- Отображается список всех объявлений продавца
- Реализована пагинация показа объявлений
- Реализован выбор количества объявлений для показа на странице (по умолчанию должно быть 10)
- Реализован поиск по названию объявления
- Можно перейти на страницу объявления (по клику на карточку)
- В карточке объявления есть следующая информация о нем:
- Картинка
- Название
- Стоимость
- Количество просмотров
- Количество лайков
- Есть возможность создавать новые объявления (Модальное окно с input):
- Картинка (текстовое поле для ввода URL)
- Название (текстовое поле)
- Описание (текстовое поле)
- Стоимость (числовое поле)
Страница объявления
- Есть возможность просмотра объявления
- В редактировании объявления есть возможность:
- Менять картинку
- Менять название
- Менять цену
- Менять описание
Дополнительно
- Есть возможность удалить объявление
- Объявление так же удалится из связанных заказов
Страница заказов
- Отображается список заказов с сортировкой по статусу
- Возможно сделать сортировку по сумме заказа
- На карточке заказа изображена следующая информация:
- Количество товаров
- Возможность завершения заказа
- Стоимость заказа
- Дата создания заказа
- Статус (текстом)
- Номер заказа
- Кнопка “Показать все товары”, показывающая все товары в данном заказе (можно отображать их в этой же карточке или сделать модальное окно)
- При клике на товар в заказе есть возможность перейти в объявление продавца по этому товару
Панель навигации
- Вкладка “Объявления” - реализован переход на страницу объявлений
- Вкладка “Заказы” - реализован переход на страницу заказов
Дополнительное задание
- На странице всех объявлений реализована фильтрация выдачи по:
- цене
- просмотрам
- лайкам
- На странице объявлений при клике на кнопку “Заказы” на карточке товара происходит переход в раздел Заказы, где показаны заказы, которые содержат это объявление в товарах
- На странице заказов реализована пагинация показа заказов
Нефункциональные требования
- Стек технологий:
- Frontend фреймворк: React, версия 18
- Библиотека компонент: material UI
- Сборщик: Vite
- Node.js: 20
- Пакетный менеджер: npm
- Роутинг: React Router v6
- TypeScript
- Проверки кода с помощью ESLint
- Docker-файл для запуска
PS
Архитектура: впервые пыталась использовать FSD (ошибка). Распределила файлы так, как поняла по статьям, но в итоге стало понятно то, что ничего непонятно)) Нужно было сначала на пет проекте потренироваться, так что буду закрывать пробел
Дизайн: в основном старалась придерживаться дизайна сайта авито, удаляла / добавляла объявление, чтобы посмотреть результат, скопировала небольшую часть цветовой палитры с девтулзов и использовала ее. В общем, старалась подмечать