itsharik
48 subscribers
7 photos
52
Download Telegram
Channel created
Всем привет, опишу свой старт, что успел сделать на данный момент по проекту

Пока что инициализировал Backend-проект, конечно же выбрал Go как язык, не спрашивайте почему, просто так хочется, ибо он потихоньку становится моим основным языком энивей

Погруммил над сущностями и флоу, пока мысли следующие, можете своё тоже что-нибудь накинуть:

1. Юзер заходит на сайт, видит какой-то стартовый стейт, в котором будут сразу экшены авторизации или же просто «попробуй бесплатно» как гость, какое-то короткое описание че ваще происходит и куда он попал

2. Авторизация будет через Google и Telegram, после MVP сделаю возможность привязки этих соцсетей к одному аккаунту, пока каждый способ авторизации — отдельный аккаунт

3. После стартового экранчика перемещаемся в небольшой Onboarding с вопросами «кто ты такой? что хочешь изучить?»

4. После онбординга на основе ответов предлагаем юзеру выбрать курс: это может быть курс по Go, по Kafka и тд

5. Юзер выбирает курс, ему открываются секции с уроками. Ну прям как в Duolingo, типа «Section 1: Variables», внутри этого будут уроки с теорией и практикой, всё это будет в виде красивой роадмапки и красивыми шагами внутри урока

6. Если юзер не авторизован: предлагаем ему авторизоваться, дабы не потерять свой прогресс. Да, кстати о прогрессе: будет система начисления очков за каждый пройденный урок, из этого будет складываться лидерборд в дальнейшем (но возможно за рамками MVP)

7. Прогресс включает в себя опыт, уровни и стрики. Над этим ещё подумаю дополнительно...

В общем, пока что продумываю миграшки и сущности, после этого начну накидывать репозитории и юзкейсы (нейронка там уже что-то накидала, но надо ревьюить)

Конечно, всё это дело будет вайбкодиться, но я буду контролировать. Это важно для дальнейшей поддержки, ну и + миграшки довольно больно откатывать, надо сразу их сделать нормально
👍4🔥42🤮1
Всем дарова, короче люто вайбкодил все выходные, по сути я сделал весь бэкенд практически и весь фронт + админку навайбкодил для создания контента

Обещал себе проверять код, но решил, что пока что я буду просто проверять его работоспособность, а над архитектурой потом подумаю

Что сейчас есть:

— Полноценная система жизней, XP, монеток и прочего
— Игровой магазин, в котором можно купить доп жизнь, заморозку, позже сюда добавлю реальную оплату и можно будет купить сразу безлимит жизней
— Каталог с курсами
— Лидерборд / рейтинги (позже придумаю призы за первые места)
— Профиль (ну тут просто база, аватарку установить можно, хотя я пока что не заморачивался с картинками, просто эмодзики)
— Светлая/тёмная тема
— Онбординг
— Логин через telegram/google
— Логин как гость (потом потребуется авторизоваться для того, чтобы фиксировать прогресс, ну и жизни для гостей не восстанавливаются, в общем суть гостевого входа в том, чтобы сразу попробовать проект, но на постоянке быть им вряд ли получится)
— Ежедневные цели, за которые тоже начисляется награда
— Роадмапа, которая работает так: ты выбираешь курс, тебе открываются секции с уроками. внутри каждой секции есть уроки (это круги вот эти), внутри уроков есть различные шаги: это может быть просто теория, может быть выбор ответа и тд). Весь контент будет сгенерирован через админку, но над этим надо отдельно посидеть, потому что не хочется бездумно с помощью ИИ нагенерить, но сейчас внутри уроков пока пустота, хоть и реализация уже есть

Вернёмся к механике жизней: как только ты проваливаешь какой-то шаг внутри урока, у тебя отнимается жизнь. Жизнь восстанавливается 4 часа, поэтому к ним нужно относится бережно

Так же есть XP и монеты, но пока за экономику этих вещей я не думал, они просто есть, за монеты даже можно покупать некоторые вещи, про которые я упомянул выше, но в целом надо посчитать будет по экономике

Что надо сделать:

— Докрутить дизайн, местами он отдаёт ИИшным дерьмом, нужно будет сделать так, чтоб это нравилось мне хотя бы
— Местами дублируются компоненты, тоже уберу
— Добавить переводы на английский, вдруг кому-то русское не вкатывает
— Докрутить онбординг, сейчас он из полезного спрашивает только "какой курс хочешь изучать" по сути, возможно я сделаю разбиение курсов ещё и по level'ам, условно не просто JavaScript, а JavaScript для начинающих и JavaScript для продвинутых, хотя... как будто и внутрь JavaScript можно сразу заложить и то, и другое, просто сами секции и так будут усложняться по мере изучения.
— Сгенерировать контент для курсов: напомню, что для старта я взял 6 курсов: JavaScript, Go, Redis, Kafka, PostgreSQL и Архитектура
— Прикрутить оплату за рубли по СБП хотя бы (наверное это будет единственном способом монетизации, просто какие-то дополнительные приколюхи в магазине, которые как-то помогут ускорить процесс обучения или дать бафа например в наборе XP)

Боюсь снижу темп на рабочей неделе, ибо мне надо будет таски рабочие пилить, поэтому я на этих выходных и попотел

Никаких сроков себе ставить не хочу, поэтому просто работаем дальше
🔥83🤩2