May 24, 2022

ТЗ разработки сайта

1. Цель проекта

Мы разрабатываем сервис по отслеживанию активности Twitter аккаунтов. На сайт будет поступать информация о топах, действиях твиттеров, статистике активностей, аналитике.

2. Описание необходимого функционала сайта

  1. Регистрация, аутентификация и авторизация, коннект твиттер аккаунта
  2. Админская панель для доступа к базе данных и ручной выдаче подписок пользователям при необходимости
  3. Личный кабинет пользователя
  4. Интеграция с телеграм ботом для уведомлений
  5. Работа с базой данных для вывода информации пользователю по исследуемому твиттеру

2.1. Типы пользователей

Всего будет четыре типа пользователей:

  • админ
  • обычный пользователь (с доступом только к базовому функционалу)
  • платный пользователь первого уровня (с доступом к части функционала)
  • платный пользователь второго уровня (с доступом к полному функционалу)

Какой конкретно функционал будет доступен для бесплатных/платных пользователей, распишем отдельно.

2.2. Регистрация и авторизация

Пользователю на выбор будет предложено два варианта регистрации и логина:

  • Стандартная регистрация через логин/пароль
  • Регистрация и авторизация через аккаунт Twitter

2.3. Оплата

Оплата будет производиться посредством криптовалют, поэтому должна быть кнопка присоединения кошелька (есть готовые модули).

Будет реферальная система, которая позволит пользователям получать часть от оплаты рефералов на свой личный счет.

3. Список фич и основных страниц сервиса

Список фич и страниц, со временем будет дополняться.

Большинство фич будет создано кодерами в виде отдельных модулей, так что проблем с интеграцией на сайт возникнуть не должно. Эти фичи будут находиться на нескольких разных страницах, функционал каждой страницы будет выглядеть примерно следующим образом:

3.1 Главная страница

Слева сверху будет логотип, справа сверху кнопка логина.

  • Кнопка логина
  • Большая поисковая строка
  • Ссылки на последующие страницы вверху или в виде боковой панели. Скорее всего второе, чтобы пользователю требовалось меньше времени на поиск нужной страницы)

3.2 Страница найденного аккаунта

Сюда пользователь попадает, когда ищет информацию об определенном твиттер аккаунте.

Здесь будет показываться следующая информация:

  • Аватарка твиттера, описание (взято из аккаунта Twitter), ссылка на сам аккаунт в виде кликабельного имени этого аккаунта + маленькой иконки самого твиттера.
  • Score (Уровень полезности аккаунта, определяемый нашими алгоритмами)
  • Количество подписчиков
  • Количество актива на постах
  • Возможная накрутка
  • Кто из известных людей подписан (будет разбито на категории известных людей). Изначально видно только количество людей из каждой категории, при нажатии на кнопку, выпадает список этих людей)
  • Дата создания/первого поста
  • Изменение Score за последнее время
  • Количество упоминаний этого аккаунта за последнее время
  • Кнопка "Поделиться аккаунтом", при нажатии на которую будет генерироваться картинка с краткой информацией по найденному аккаунту и предложением поделиться этой картинкой в Twitter.

На этой же странице будет возможность добавить аккаунт в Watchlist или Alert list, с возможностью выбрать следующие вещи для отслеживания:

  • Кто-то из очень известных людей/проектов подписался
  • В твиттере выложили пост с конкретным словом (testnet, giveaway, ambassador и т.д.)
  • За последние сутки резко увеличился Score

3.3 Страница топа

Здесь будет выведен общий топ аккаунтов, основанный на Score.

  • Возможность сортировки по увеличению score за последние 1/7/30 дней.
  • Возможность показать в топе только аккаунты зарегистрированные, например, за последнюю неделю.
  • Сортировка с теми же параметрами, но по количеству подписчиков

3.4 Страница поиска активностей

На этой странице пользователь сможет видеть свежие твиты, в которых идет упоминание конкретных слов, отобранных нами. Чаще всего при упоминании этих слов стартует какая-либо активность в проекте.

При выборе одного из этих слов, будет появляться лента с твитами, где эти слова упоминались. Возле аккаунта, который запостил твит, будет писаться Score. Список твитов внутри ленты можно будет сортировать по дате твита/Score аккаунтов.

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

3.5 Страница альфа проектов

На этой странице нами вручную будет заполняться топ найденных за последние сутки Twitter аккаунтов, основанный на score. Должна быть возможность сортировки по дате создания/score/количеству подписчиков.

Каждому из этих аккаунтов заранее будет присваиваться определенная категория и краткое описание, которое будет видеть пользователь. При нажатии будет открываться полноценная "страница найденного аккаунта". Рядом должен быть небольшой значок твиттера, для быстрого перехода сразу к аккаунту, а не на страницу с информацией.

Около каждого аккаунта должна быть кнопка быстрого добавления в Watchlist или Alert list.

3.6 Личный кабинет пользователя

Личный кабинет будет содержать следующую информацию:

  • Оставшееся время подписки, возможность продлить подписку
  • Отдельно Watchlist и Alert list с возможностью отписываться от этих функций на конкретных проектах
  • При привязанном твиттере анализ личного твиттера
  • Возможные активности во благо сервиса: условно делаешь пост в твиттере с указанием нашего акка — получаешь 3-5 дней к подписке.

3.7 Админская панель

В ней администратор имеет доступ к базе данных, может делать постинг во вкладку "Активности проектов" и "Альфа проекты", добавлять дни подписки или банить пользователей.

4. Дизайн проекта

Хотелось бы видеть минималистичный юзер-френдли дизайн, чтобы человеку было интуитивно понятно где и какая информация находится. Основная тема однозначно темная (светлая тема опциональна, на первом этапе необязательна).

Вся информация на сайте будет только на английском языке.

Сайты-конкуренты с похожим функционалом (плохие примеры дизайна):
https://few.tools/dashboard/

https://coinsguru.io/

Сайты с относительно отдаленно похожим функционалом, но с неплохим дизайном, на который можно ориентироваться:

https://moby.gg/

https://icy.tools/

https://www.nansen.ai/

5. Задачи и вводные данные

Нам нужны дизайн и верстка сайта для этого сервиса.

Бэкенд пишется на GO и прикрутим к сайту мы его самостоятельно.