Open TFK70 opened 3 years ago
Что такое нормализация данных для данного таска? Это что-то из ML, или здесь вкладывается другой смысл?
@TFFOE это приведение данных к удобному для работы виду
Авторизацию нужно как-то захардкодить или сделать форму для неё?
@TFFOE Ты про токен? Его можно засунуть в переменную окружения
@TFK70 да, про него, понял. Пока разбираюсь как добыть этот токен. Так понимаю, в результате вообще не должно быть никакого HTML?
@TFFOE А зачем здесь html? И при чем он тут? У тебя просто должны быть сервисы для работы с данными, ты же бэкенд пишешь
Окей, дошло до меня наконец
Правильно понимаю, что для взаимодействия с БД можно использовать TypeORM?
@TFFOE Нужно
При попытке подключить GraphQL выскакивает такая дичь Нашёл вот такое решение (работоспособность пока не проверял). Стоит его использовать или в другую сторону копать?
@TFFOE А как там apollo оказался? Тебе же только graphql нужен был?
@TFK70 Делал по гайду https://docs.nestjs.com/graphql/quick-start Пойду разбираться, в чем ошибся
@TFK70 видимо, graphql всё-таки требует этот apollo
@TFFOE да, это я про это не знал, он должен быть ошибку свою гугли, это точно у тебя что-то не так сделано
@TFK70 Наконец-то что-то начало получаться. Запрос на spotify делаю через axios и все гуд.
Вопрос появился.
Правильно понимаю, что в соответствии со схемой ниже мне нужно единоразово получить access_token и refresh_token, и после мне больше не потребуется взаимодействовать "руками" со spotify?
Запросы к API делаются, как я понял, при помощи access_token (который действует час), а получаю access_token при помощи refresh_token, который действует хз сколько (вечно?).
@TFK70 И еще. После разрешения доступа к ответу прилагается code. По нему я получаю токены. Где правильнее хранить эти токены для дальнейшего доступа к ним?
@TFFOE Запросы должен делать Mesh - https://www.graphql-mesh.com/docs/transforms/transforms-introduction
Насчет деталей реализации с токенами ничего не подскажу, опять же, сам не дошел
И еще. После разрешения доступа к ответу прилагается code. По нему я получаю токены. Где правильнее хранить эти токены для дальнейшего доступа к ним?
Немного не понял о чем ты, но если тебе нужно что-то хранить не прибивая гвоздями в коде - используй энв переменные
@TFK70 Т.е. переменные окружения прямо во время работы программы могу задавать, так?
@TFFOE не думаю, но этого делать и не надо
если ты получаешь какие-то данные в ходе работы приложения и тебе их нужно где-то хранить - используй бд (по-крайней мере я других вариантов не вижу)
@TFK70 тоже думал про бд, звучит очевидно, просто пока с ними не разобрался
@TFK70 Что из себя должны представлять сервисы по работе с данными артиста?
<получение, запись, чтение> - это 1) я получаю данные от spotify 2) записываю их в бд 3) делаю роут и контроллер для доступа к чтению этих данных
Если нужно прочитать данные: 1) проверяю, есть ли они в БД 2/1) если есть, просто отдаю 2/2) если там нет, то: -- делаю запрос к Spotify, получаю данные -- записываю данные в БД -- отдаю их
За каждый из пунктов <получение, запись, чтение> отвечает отдельный сервис
Правильно понимаю?
@TFFOE Ты предлагаешь для запроса к базе отдельный сервис поднять? CRUD должен быть внутри одного сервиса, если он там подразумевается
В конечном итоге твой бэк должен быть удобной апишкой для фронтенда, чтобы у тебя в удобном виде можно было запрашивать и получать необходимые данные, которые сейчас не нормализованы и которые еще предстоит сфетчить
Если нужно прочитать данные
У всех сервисов должна быть своя зона ответственности, если ты внутри сервиса работы с альбомами артиста будешь хаотично делать какие-то запросы на спотифай когда у тебя для этого отведен отдельный сервис - что-то спроектировано неправильно, в таком случае у тебя сервис отвечающий за работу с API спотифая должен отвечать за валидность данных которые он отдает, а сервис для работы с альбомами работает только с альбомами и ни про какой эндпоинт спотифая не знает
С чем связан запрос на фичу?
Учимся работать с данными получаемыми по API Введение в микросервисную архитектуру Создадим небольшой набор микросервисов для работы с данными музыкальных исполнителей с платформы Spotify и дальнейшего использования этих данных на сайтах
Расскажите как вы это себе видите
Настройка окружения в этот раз включает в себя postgresql и mongodb для хранения данных
Приложите примеры реализаций