3-4 дни разработки PlayVibe
Марафон: сделать MVP за оставшиеся 2 дня.
Я начал день с того, что надо было довести до ума Front+API, а также Backend, подвязать ко всему этому REST API и соединить с TMA. На это у меня ушел практически весь день, так как позволили себе кучу времени потратить на разговоры с друзьями :D
Сам код был написан примерно за 3 часа. Тогда я решил ускорить процесс и обратиться к ChatGPT для написания Javascript функций и к Perplexity, чтобы создать CSS-верстку.
Иконки типа таких: 🏠🔍🔔👤 - они задаются как текст. Решил, что позже заменю их на PNG, чтобы во всех браузерах выглядели одинаково. Пока будем считать это багофичей.
Следующая задача - добавить экраны, какую-то базовую логику UI / UX.
Но для начала потребуется прикрутить самый базовый функционал TMA:
- получение start параметров (ID конкурса, если открывается конкретный, а также UTM теги для наших любимых маркетинговых исследований);
- бесшовная авторизация через Telegram.
По авторизации я решил воспользоваться этой статьей с хабра.
Общий принцип аутентификации следующий:
Примерно на этом закончился 3-ий день разработки. Пока я думал как реализовать аутентификацию и авторизацию, я начал сталкиваться со все большим числом проблем с Vercel.
Оказалось, что его работа не интуетивно понятна на Golang, а некоторые вещи проще, легче и разумнее сделать в виде обычного сервиса, а не serverless-функций.
Наконец, когда мне надоело гневаться на Vercel, я решил переписать Front + API без него. Используя старый добрый Gin и его шаблонизатор для обработки HTML.
На 4-ый день я доделывал изменения и занялся доработкой фронта. вот как он стал выглядеть:
Я сделал иконки картинками, добавил логику экранов, составил лого и сделал темную схему оформления. Для начала прикольно.
С подачей MVP я задержался и в текущем виде никакой базовой логики тут нет, только открытие тех или иных экранов:
В следующих отрывках дневника разработки расскажу и покажу дальнейшую логику системы.