Создать личный кабинет для трейдеров и брокера

Добавлено 03 дек 2018 в 16:58
Ваши предложения по бюджету/срокам реализации проекта в целом. Прошу прежде ознакомиться с частичным описанием (если заинтересует, вышлю остальное в личку):

Видео одной из секций у брокера: https://drive.google.com/open?id=1dWSbgyjj_E2wubip...
Видео одной из секций у трейдера: https://drive.google.com/open?id=1WFEMwH6IMKJ-DwVK...

Общие требования

Нужно собрать личный кабинет (ЛК), из уже готовых HTML/CSS/JS макетам. Приветствуются изменения данных версток на вкус исполнителя (скажем кнопку "Добавить" переместить туда-то или как-то улучшить презентацию поисковых фильтров), если это будет плюсом к UI/UX.

Имеется описание АПИ из нескольких (около 10) функций для подключения и проведения операций на удаленном сервере. ЛК говорит с удаленным сервером через АПИ, отправляет а также принимает данные в виде стандартных JSON объектов. Ответы от АПИ дублируем в локальной базе данных (БД), и шлем соответсвующую команду (вызов функции) на сервер если чего меняем локально. NB: Используем локальную БД для всех CRUD операций, вызывая АПИ и действуя по его результату.

Что уже есть

Имеются
готовые макеты страниц личного кабинета, выполненные в HTML + CSS. А
также примеры страниц с профилями, настройками, статистикой и тд которые
нужно будет подключить в систему.

Пример функционала

  1. Новый трейдер (пользователь) вводит свои данные и регестрируется на сайте. Система создает запись в локальной БД, со статусом "Inactive".
  2. Админ заходит в свой ЛК, видит нового трейдера, и решает его активировать. ЛК меняет статус в БД на "Active", и шлет запрос на удаленный сервер через АПИ. В запросе указывает данные трейдера и "просит" его там (на сервере) создать.
  3. Сервер создает запись, возвращая соответствующий статус + идентификатор созданного трейдера обратно в АПИ --> ЛК.
  4. ЛК видит что все прошло успешно, и присваивает идентификатор трейдеру в локальной БД.
Какой-то момент трейдер решил что хочет сменить свое имя. Он его меняет в своем ЛК. ЛК через АПИ дает знать удаленному серверу что такой-то сменил имя. Но сервер получает неверную команду или по какой-то иной причине не меняет имя. АПИ это узнает через статус (ответ с сервера), и дает знать ЛК что операция НЕ прошла успешно. Имя трейдера НЕ обновляется в БД.

Это на 99% и есть концепт состовляющего, остальное это вокруг да около.
ЛК (БД) <==> АПИ <==> Сервер

По сути система состоит и вертится вокруг двух форм для создания аккаунтов: одна форма (больше полей) создает учетные записи (акаунты) на live сервере, другая (поменьше) на demo сервере. Остальное это отображение данных, немного статистики и функции связанные с CRUDом, например де/актививация аккаунта, измена статуса, других полей (например ФИО)-- принципе обыкновенный CRM но с некоторыми фишками.

Технологии/stack

Главное из требований -- простота в эксплуатации и возможность быстрой развертки новых компонентов: в будущем будем добавлять еще несколько фич.

ЛК должен быть динамичным и выносливым (например быстрое отображение таблицы в несколько тысяч рядов с pagination).

Из стека, предпочтение Node но можно рассмотреть и другие (Laravel например) если есть хорошие доводы:

  • [ Node.js (Express?), React/Redux ] или другое?
  • Bootstrap 4.1 + SCSS
  • MongoDB 4 или Postgres 10
Фишки, фичи

  • Кабинет должен летать
  • Регистрация, авторизация пользователей
  • Кабинет для брокера (админа)
  • Кабинет для клиентов (трейдеров)
  • ЛК должен поддерживать несколько языков с возможностью настройки на лету (то-есть если брокер перевел ЛК на другой язык, то трейдер может его выбрать и спасти у себя в настройках, в дальнейшем видя все кнопки и тексты на этом языке)
  • Возможность заливать файлы/документы
  • Email уведомления (через SES или например Mailgun)
  • Возможность добавлять админов в систему + настройка соответствующих прав
  • Возможность создавать и отслеживать задачи (tasks) для админов
  • Несколько категорий клиентов (demo, live, personal, corporate и пара других; небольшие различия между ними, например ФИО заменено на Название компании, для corporate и тому подобное)
Сроки, оплата

Сроки не жмут, но чем раньше тем лучше. Главное качество работы. Середина-конец января. Возможно февраль.

Оплата по договоренности.
209a5c1483 23e046855a