Все проекты

Cinemaddict

Сервис для киноманов. Подробная информация о горячих новинках кино, возможность выбрать и сформировать собственный список фильмов к просмотру, обсуждение кинофильмов и многое другое.Пользователи могут просматривать список фильмов, сортировать по рейтингу и комментариям. Выбрать и сформировать собственный список фильмов к просмотру. Просматривать подробную информацию о фильме и комментировать. На странице статистики выводится рейтинг жанров и рейтинг пользователя по наиболее популярному жанру.

Описание проекта

  • После загрузки приложения в списке отображается не более 5 карточек фильмов. Показ оставшихся фильмов выполняется нажатием на кнопку «Show more». При нажатии показываются очередные 5 фильмов или оставшиеся фильмы, если их количество меньше 5. После показа всех карточек с фильмами, кнопка «Show more» скрывается.
  • На главном экране в блоке «Top rated movies» и «Most commented» отображаются по две карточки фильмов. В блоке «Top rated movies» — фильмы с наивысшим рейтингом. В блоке «Most commented» — фильмы с наибольшим количеством комментариев. Если у всех фильмов одинаковый рейтинг или одинаковое количество комментариев, берутся два случайных фильма соответственно.
  • Карточки фильмов представлены в двух вариантах: стандартный (на главном экране, в блоках «Top rated movies» и «Most commented») и расширенный (попап с описанием фильма).
  • Карточки фильмов представлены в двух вариантах: стандартный (на главном экране, в блоках «Top rated movies» и «Most commented») и расширенный (попап с описанием фильма). Для добавления нового комментария пользователь заполняет текст комментария и выбирает эмоцию (один вариант из: smile, sleeping, puke, angry). Имя автора формируется случайным образом на сервере, с клиента оно не передаётся. Введённые пользователем данные экранируются. Отправка формы осуществляется нажатием комбинации клавиш Ctrl/Command + Enter. Пользователь может удалить произвольный комментарий. Комментарий удаляется нажатием на кнопку «Delete», расположенную в блоке с комментарием.
  • Внешние библиотеки: 'Chart.JS' - для вывода статистики. 'Moment' - для форматирование даты. 'He' - для безопасного ввода данных пользователем (экранирование от вредоносного кода).
  • В проекте использовались: паттерны MVC, Observer, Adapter.
  • В проекте настроена сборка JavaScript модулей с помощью Webpack.

Сборка проекта

Готовый проект формируется в папку - dist.

  • Перед сборкой и запуском проекта необходимо установить зависимости командой: npm i
  • Сборка продакшн (готовый проект для размещения на хостинге): npm run build
  • Запуск проекта локальнов в Dev режиме: npm start