Сначала необходимо склонировать проекта:
git clone http://git.nic.etu/iaksenov/233-cinema-search-js-vue.git
Далее в папке с проектом нужно скачать все плагины:
npm install
Далее скомплировать и запустить:
npm run dev
Состоит из одного простенького файла myUtilities.js, в котором есть только функция по генерации случайного числа в определенного диапазоне
Создан, чтобы не писать одну и ту же функцию в нескольких местах. В будущем можно было бы дополнять файл, если будет возникать необходимость в переиспользовании функций
- FilmCard - карточка фильма. Используется для отрисовки фильмов в списках (на домашней странице, закладках и в рекомендациях)
- FilmInfoBar - компонента для отображения информации на странице каждого фильма, чтобы не дублировать один и тот же код
- FilmsList - копонента, которая отвечает за отрисовку списков на домашней странице и на странице с закладками. В нее передается список (который меняется только в хранилищах, т.е. сортируется и фильтруется, в результате отрисовывается)
- NavigationBar - блок с навигацией, используется на всех страницах для переходов на страницы
Организована через vue-router. Есть обычные переходы на страницы. Для фильмов сделаны вложенные страницы.
- filmStore - основное хранилище с фильмами, их сортировкой и фильтрацией
- userStore - хранилище с пользовательскими данными (закладки, оценки пользователя, избранное и т.п.)
- HomePage - домашняя страница. Есть "рекомендуемый" фильм (берется случайно), список фильмов. Фильмы можно отфильтровать, отсортировать, при нажатии на карточку перейти на нужный фильм.
- FilmPage - полная страница фильма. На ней изображена информация о фильме, где его можно посмотреть. Здесь же фильм можно добавить в закладки, настроить в каком списке он будет, добавить в избранное или удалить из закладок. Есть секция с рекомендуемыми фильмами, но "рекомендации" определяются просто случайным образом, т.к. мне показалось недостаточным количество данных у фильмов (не нашел даже жанров), чтобы можно было придумать какой-нибудь алгоритм
- FavouritespPage - страница с закладками. Отображаются только фильмы, котоыре в закладках. Их, как и на домашней странице, можно отсортировать, отфильтровать. Можно вывести фильмы только из определенного списка ("смотрю", "в плане" и т.п.) и можно ограничить вывод только тех фильмов, которые были добавлены в избранное (у них также есть значок в карточке)
Данные о фильмах банально были добавлены в хранилище.
Были добавлено небольшое количество фильмов изначально в закладки (для удобства проверки функций, чтобы можно было немного поиграться с настройками)
Рекомендации, как ранее писал в FilmPage, никаким алгоритмом не закреплены ввиду того, что той информации, которая есть в исходных данных, я посчитал недостаточной, чтобы можно было сделать хотя бы какую-нибудь весовую функцию для фильмов.
Как можно понять, они сгенерированы Vite, в них я изменений не вносил, кроме плагина для Vuetify, чтобы можно было установить темную тему.