task: rs-clone
- Роутинг без перезагрузки страницы, приложение SPA. (+40 баллов)
- Использование API подкастов. (+50 баллов)
- Единый стиль приложения. (+20 баллов)
- Модальные окна логина, считывание инпутов, отправка значений на сервер. (+20 баллов)
- Анимация меню аккаунта. (+10 баллов)
- Анимация кнопки Play на карточке подкаста. (+5 баллов)
- Поисковая строка для подкастов по теме. (+20 баллов)
- отображение списка эпизодов подкаста (+20 баллов)
- возможность открыть страницу эпизода с описанием (+15 баллов)
- возможность добавить эпизод подкаста в плейлист (+10 баллов)
- возможность подписаться на подкаст, он добавится в библиотеку (+5 баллов)
- управление плейлистами (+30 баллов)
- просмотр каналов подкастов, на которые подписан пользователь (+20 баллов)
- кастомный аудиоплеер (+30 баллов)
- кастомный регулятор громкости (+20 баллов)
- перемотка трека по 10 сек (+10 баллов)
- кнопки следующего/предыдущего эпизода (+10 баллов)
- плеер не прерывает воспроизведение при навигации по сайту (+25 баллов)
- addUser (+20 балов)
- signIn (+20 балов)
- updateUser (+20 балов)
- deleteUSer (+20 балов)
- signOut (+20 балов)
- userLibrary (+20 балов)
- addItemToPlaylist (+20 балов)
- removeItemFromPlaylist (+20 балов)
- addPlaylist (+20 балов)
- removePlaylist (+20 балов)
- renamePlaylist (+20 балов)
Пример 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));