Что нам стоит Личный Кабинет построить?
5 мин.

Что нам стоит Личный Кабинет построить?

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

Зачем делать личный кабинет?

Зачем вообще может быть нужен личный кабинет Telegram-боту?

Правильно, Telegram-боту личный кабинет не очень-то и нужен, а вот сервису для поиска государственных закупок вполне.

Дело в том что передо мной стоял выбор, куда двигаться с развитием сервиса дальше. Развивать исключительно Telegram состовляющую (сделать mini-app, улучшить функционал бота) или же начать расширять функционал вширь и выходить за пределы Telegram в сторону полноценного сервиса.

Как нетрудно догадаться, я решил пойти вторым путём и на это есть несколько причин:

  • судьба Telegram в РФ туманна, сегодня он не заблокирован, а завтра Роскомнадзор начинает его замедлять...
  • большинство конкурентов предоставляют полноценное веб-приложение;
  • я изначально видел бота, лишь как способ быстро начать и проверить гипотезу;

Какой функционал нужен?

Первоначально личный кабинет не должен содержать огромное количество функций, достаточно всего-лишь нескольких:

  • оплата и управление подпиской;
  • управление фильтрами (удаление, изменение, запуск, остановка);
  • привязка Telegram-аккаунта к сервису;

Процесс разработки и технологический стек

Стек

Основной технологический стек проекта определился ещё до того как я начал писать личный кабинет:

Инфраструктурно:

Библиотеки

Аутентификация

С чего начать разработку личного кабинета? Мне всегда удобнее начинать со страницы входа и аутентификации пользователей.

Самому реализовывать аутентификацию мне не хотелось, поэтому решено было выбрать уже готовую библиотеку. Так как у меня уже был опыт с next-auth поэтому я выбрал идейного продолжателя этой библиотеки better-auth.

Чем хорош better-auth, так это тем что он не завязан на какой-то конкретный фреймворк, именно поэтому я смог легко встроить его в свою архитектуру для бедных.

Клиентские пакеты

Так же используется набор проверенных клиентских npm-пакетов:

Процесс разработки.

Так как я делаю всё в одиночку, то гораздо проще для меня двигаться в следующем порядке:

  • Сначала продумываем представление на клиенте;

Тут я и рисую, и смотрю примеры на имиджбордах и в сервисах, которыми пользуюсь.

  • Реализовываем первую версию представления на фронте;

Это помогает лучше понять и продумать необходимые структуры данных для клиентского API.

  • Делаем все необходимые бэкендовые ручки для данных;

Тут всё просто, надо привести данные из базы в нужный для клиента формат.

  • Используем ручки на клиенте;

Получаем данные с бэка, правим первые баги.

  • Смотрим результат;

Небольшое тестирование в поисках ошибок и недостающего функционала.

  • Делаем ещё несколько итераций "фронт-бэк";

Правим баги, рефакторим код.

  • Переходим к следующей странице/фиче;

И так до победного конца.

Первые результаты

Посмотреть личный кабинет в живую можно тут. Ну а для тех кому лень регистрировать, вот несколько скриншотов.

Страница входа Страница регистрации Страница сброса пароля Главная страница Главная страница в светлой теме Страница фильтров Страница настройки фильтра Страница управления подпиской Страница профиля

На этом всё. Спасибо за внимание!

Поделиться

Поддержать автора

Комментарии:

Вам может быть интересно:

Как НЕ потерять клиентов и НЕ заставить их тебя ненавидеть

Как НЕ потерять клиентов и НЕ заставить их тебя ненавидеть

4 мин.

Рассказ о том, как в стартапе Поиск Закупок устроены догоняющие сообщения с призывом купить подписку...

Запуск сервиса для поиска государственных закупок poiskzakupok.ru

Запуск сервиса для поиска государственных закупок poiskzakupok.ru

6 мин.

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

Идея для стартапа в сфере закупок по 44-ФЗ и 223-ФЗ

Идея для стартапа в сфере закупок по 44-ФЗ и 223-ФЗ

5 мин.

Описание идеи для стартапа в сфере закупок по 44-ФЗ и 223-ФЗ, подробности об MVP и первые результаты...

Добавляем Telegram Widgets в React-приложение

Добавляем Telegram Widgets в React-приложение

4 мин.

Инструкция по добавлению Telegram Widgets в React-приложение с помощью написанного мной npm-пакета react-telegram-widgets...