Skip to content
This repository was archived by the owner on Jun 12, 2021. It is now read-only.

hackey9/sibdev-test-spa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sibdev-test-spa

Решение 2го тестового задания

#хочувсибдев =)

Available Scripts

This project was bootstrapped with Create React App.

Всё как обычно:

  • npm start - запустит dev-server от react-scripts
  • npm test - протестирует работу API и что-то ещё
  • npm run build - создаст статическую сборку

Open http://localhost:3000 to view it in the browser.

Логин: admin
Пароль: admin

Реализация

  • Приложение работает 😅
  • До UI-библиотеки увы, так и не добрался. Написал элементы руками.
  • Запросы выполняются через fetch (не axios). Однако, все запросы для большей абстракции вынесены в src/Services.
  • Для навигации использовал react-router. Результаты поиска, кстати, можно открыть по ссылке и скинуть другу.
  • Состояние приложения (авторизация и список избранного) хранитя в redux. P.S.: Поиск видео реализован в стейте компонента
  • Попробовал библиотеку redux toolkit. Прикольная, и очень гибкая). По производительности не знаю, но вроде нормас)
  • Список избранного хранится в localStorage. Пользователи лежат в fakeUsers.ts
  • Google API токен находится в .env. Github мне уже успел прислать сообщение о том что так делать не нужно =))
  • Лимиты на Youtube API чёт жосткие. API отваливается быстро, а восстанавливаются (вроде) каждый день в 12:00 МСК.
  • Пока API в отвале, добавил анимацию (библиотека framer-motion) в список навигации.
  • Структура проекта оставляет желать лучшего. Я ещё неопытный в этом, но идеи как можно было бы улучшить, уже есть)
  • Вёрстка сделана на CSS modules. Знаком со styled-components, но тут не стал делать, и отлаживать их неудобно ))