Работа над проектом.
1. Добавить авторизацию пользователей (кликабельная иконка в навбаре).
Должно быть 3 роли:
Первая роль User— это не зарегистрированные пользователи,
Вторая Content Creator — это зарегистрированные пользователи,
Третья роль — это Admin, эта роль будет захаркоджена и зарегистрироваться как админ будет нельзя, только залогиниться.
2. Добавить комментарии под раздел комментариев под видео, комментарии могут оставлять только СС, у комментариев должна быть система лайка и дизлайка.
3. Добавить лайк/дизлайк под видео. Средний рейтинг видео должен показываться на главной страничке (где список всех видео)
3.1. Добавить кнопку удалить видео на главной странице для каждого видео (только для админа). Это могут быть три вертикальные кнопочки, как настройки, где будет опция удалить видео. При клике должно появляться окно подтверждения “Вы уверены, что хотите удалить *название видео*” да/нет. (Можно реализовать не как три точки, можете предложить свой вариант.
4. В меню навигации добавить кнопку “upload video”, при клике на неё должна появляться форма:
1) Name
2) Genre
3) YouTube video Link
4) Description
То, что отправляется в форме, должно проходить верификацию на фронте и бэкэ (все ли поля заполнены, не превышен ли лимит символов), если какая-то из форм не валидна, то поле выделяется и под ним появляется сообщение.
5. Не подгружать все видео, когда загружается страница первый раз, загружать сначала первые 10 видео + соответственно добавить кнопку на главной странице “load next 10 videos”. (то есть с бэкэнда не должен отправляться список всех видео, а по частям)
Также всю логику надо перенести на бэкэнд, то есть фильтрация видео по жанру и поиск видео по названию будет происходить на бэкэнде, а уже готовый результат поиска - отправляться на фронтенд.
Также вы в прошлом варианте кода допустили ошибку и у нас при выборе конкретного видео идёт бесконечный запрос на сервер, скорее всего, потому что мы забыли поставить двойные, квадратные скобки в useEffect. В любом случае прилагаю скриншот проблемы ниже.
6. Также у нас ссылки на видео и фото были захаркоджены таким способом.
https://www.youtube.com/embed/${currentFilm.videoId}
https://img.youtube.com/vi/${videoId}/0.jpg
Надо изменить на просто путь, то есть ссылка на видео будет обычной (которая приходит нам в форме), пример: https://www.youtube.com/watch?v=b4b8ktEV4Bg&ab_channel=Computerphile
А вот с фотографиями надо придумать как обрезать этот шорт код и делать на бэкэнде ссылку, которая будет отправляться на фронт. Но суть в том, что на фронте не должно быть хардкода, он должен весь собираться на бэкэнде.
7. При клике на иконку авторизации должно выпадать меню авторизации, где будут sign in/login; logout в зависимости от ситуации, а также кнопка ‘настройка аккаунта’, если пользователь залогинился. Это будет отдельное окно, где юзер будет видеть информацию о своём аккаунте: аватарка, имя, фамилия, логин, пароль и тд. Которые он сможет изменить.
7.1 В случае с админом в этом окне настройки справа будет кнопка ‘верификация видео’ при клике, на которую будет открываться окно с видео, которые отправили СС через форму. И Админ сможет их добавлять или отклонять, пример как это может быть реализовано в скриншоте.
Ссылка на гитхаб проекта https://github.com/OleksandrDav/VideoLibrary