Фронтенд
Ссылка на Github-репозиторий с фронтендом проекта
Файловая структура
components/
- для React-компонентов;utils/
- для запросов к API и вспомогательных функций;images/
- для изображений;vendor/
- для стороннего кода и файлов, в т.ч. для шрифтов.
Компоненты
Для каждого компонента создана отдельная директория. Например, для компонента App
:
-- components/
---- App/
------ App.js
------ App.css
Список компонентов:
- Компоненты для отдельных страниц:
Родительский | Дочерний | Описание |
---|---|---|
App | Корневой компонент приложения, создается командой create-react-app | |
Main | Компонент страницы “О проекте” | |
Promo | Компонент с версткой баннера | |
NavTab | Компонент с навигацией | |
AboutProject | Компонент с описанием дипломного проекта | |
Techs | Компонент с использованными технологиями | |
AboutMe | Компонент с информацией о студенте | |
Portfolio | Компонент со ссылками на другие проекты | |
Movies | Компонент страницы с поиском фильмов | |
SearchForm | Форма поиска. Содержит отдельный компнент FilterCheckbox | |
PreLoader | Отвечает за работу прелоадера | |
MoviesCardList | Отвечает за отрисовку карточек фильмов и их количество | |
MoviesCard | Компонент отдельной карточки фильма | |
SavedMovies | Компонент страницы с сохраненными карточками фильмов | |
MoviesCardList | Отвечает за отрисовку карточек фильмов и их количество | |
MoviesCard | Компонент отдельной карточки фильма |
- Компоненты для каждой страницы:
Компонент | Описание |
---|---|
Header | Отрисовывает шапку сайта на странице |
Navigation | Отвечает за верхнее навигационное меню |
Footer | Отрисовывает подвал сайта на странице |
- Компоненты для страниц регистрации, авторизации и редактирования профиля:
Компонент | Описание |
---|---|
Register | Для страницы регистрации пользователя |
Login | Для страницы авторизации пользователя |
Profile | Для страницы редактирования профиля пользователя |
Роуты
Маршруты
Роут | Страница |
---|---|
/ | О проекте |
/movies | Фильмы |
/saved-movies/ | Сохраненные фильмы |
/profile | Профиль пользователя |
/signup | Страница регистрации пользователя |
/signin | Страница авторизации пользователя |
События
Клик по элементу | Переход на страницу |
---|---|
Логотип | / |
Фильмы | /movies |
Сохраненные фильмы | /saved-movies |
Регистрация | /signup |
Авторизация | /signin |
Аккаунт | /profile |
Неучтенные роуты ведут на страницу /404
.
Вёрстка
HTML:
- Разметка портирована в JSX.
- Разметка семантическая.
- Все классы названы по БЭМ.
- Навигация должна работать: ни одна ссылка не ведёт «в никуда».
CSS:
- Для стилизации каждого блока выбраны правильные инструменты, которые подходят для задачи.
- Вёрстка на Flex layout и/или Grid layout.
- Адаптивность под указанные в макете разрешения и отсутствие поломок в промежуточных значениях.
- Шрифты подключены через
@font-face
. - Элементы правильно позиционированы.
- Сделана микроанимация кнопок, ссылок и инпутов.
- Использован
normalize.сss
или стилизован строго по БЭМ — без внешних файлов. - Формы и плейсхолдеры стилизованы верно.
- В разных частях проекта есть переиспользуемые блоки.
- Все изображения оптимизированы — в том числе и
.svg
.
Обновлено