AndrewMotevich / RS-Clone

This is our final project in RollingScopesSchool stage2. We created podcasts clone.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

task: rs-clone

deploy:

screenShoot:

image


Done 27.02.2023 / deadline 27.02.2023


Score: 620/620

FrontEnd (360/360)

Общее: (110)

  • Роутинг без перезагрузки страницы, приложение SPA. (+40 баллов)
  • Использование API подкастов. (+50 баллов)
  • Единый стиль приложения. (+20 баллов)

Главная страница: (55)

  • Модальные окна логина, считывание инпутов, отправка значений на сервер. (+20 баллов)
  • Анимация меню аккаунта. (+10 баллов)
  • Анимация кнопки Play на карточке подкаста. (+5 баллов)
  • Поисковая строка для подкастов по теме. (+20 баллов)

Страница эпизодов подкаста: (50)

  • отображение списка эпизодов подкаста (+20 баллов)
  • возможность открыть страницу эпизода с описанием (+15 баллов)
  • возможность добавить эпизод подкаста в плейлист (+10 баллов)
  • возможность подписаться на подкаст, он добавится в библиотеку (+5 баллов)

Страница библиотеки: (50)

  • управление плейлистами (+30 баллов)
  • просмотр каналов подкастов, на которые подписан пользователь (+20 баллов)

Аудиоплеер: (95)

  • кастомный аудиоплеер (+30 баллов)
  • кастомный регулятор громкости (+20 баллов)
  • перемотка трека по 10 сек (+10 баллов)
  • кнопки следующего/предыдущего эпизода (+10 баллов)
  • плеер не прерывает воспроизведение при навигации по сайту (+25 баллов)

BackEnd (260/260)

  • Реализован на nodejs и express (+10 балов)

  • Подключение и работа с БД MongoDB (+10 балов)

  • Приложение разбито на микросервисы (authorization, library); (+10 балов)

  • Регистрация:

  • addUser (+20 балов)
  • Аутентификация:

  • signIn (+20 балов)
  • Авторизация:

  • updateUser (+20 балов)
  • deleteUSer (+20 балов)
  • signOut (+20 балов)
  • Методы работы с библиотекой пользователя:

  • userLibrary (+20 балов)
  • addItemToPlaylist (+20 балов)
  • removeItemFromPlaylist (+20 балов)
  • addPlaylist (+20 балов)
  • removePlaylist (+20 балов)
  • renamePlaylist (+20 балов)
  • Сервер отдаёт корректные ответы, отдаёт HTTP ошибки с нормальными body, по которым можно понять, что произошло, пишет читаемые логи. (+10 балов)


Пример POST запроса (использовать POSTMAN или запустить локальный сервер под следующими доменами : 'http://localhost:8080', 'http://127.0.0.1:8080', 'http://127.0.0.1:5500'):

var myHeaders = new Headers();
myHeaders.append("admin-pass", "root");

var requestOptions = {
  method: 'GET',
  headers: myHeaders,
  redirect: 'follow'
};

fetch("rs-clone-api.vercel.app/allPlaylists", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

About

This is our final project in RollingScopesSchool stage2. We created podcasts clone.


Languages

Language:TypeScript 80.7%Language:SCSS 17.9%Language:JavaScript 1.2%Language:HTML 0.2%