Skip to content

k3flo/palantir-client

 
 

Repository files navigation

Palantir Client

Что это такое?

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

MVP

Предварительный список фич на 08.03.2018

  1. Авторизация по Google API. После авторизации будет предложено ввести никнейм, который будет использоваться по дефолту.
  2. Создание/выбор/поиск чат-комнат. Пользователь, создавший комнату, становится в ней администратором. В mvp-версии администратор будет один и сможет удалять пользователей из комнаты.
  3. Генерация текстового и QR кода комнаты, по которому ее можно найти либо расшарить.
  4. Выбор псевдонима при первом заходе в комнату. Изначально будет предлагаться дефолтный никнейм. Пока что пользователь одновременно сможет находиться только в одной комнате.
  5. Чат, изначально на 20 человек (предварительно). Цвет никнейма каждого пользователя будет уникальным в пределах сервера. Будет сделана поддержка emoji, но, скорее всего, не в mvp-версии.
  6. Отображение карты над чатом. Маркерами будет обозначено текущее местоположение пользователя и всех остальных участников. Цвет каждого маркера будет соответствовать цвету никнейма пользователя в чате.
  7. Отображение истории в 20 сообщений при первом подключении к комнате.

Тех. стек

На клиенте:

  • Typescript
  • React
  • Redux
  • Styled components
  • Antd design

На сервере (предварительно):

  • NodeJS
  • Express
  • Socket.io
  • MongoDB

Заметки

Предполагаемые сущности на беке:

  • user - информация о пользователе: местоположение, доступные комнаты, дефолтный никнейм.
  • room - информация о чат-комнате: id пользователей, их роли и ники, id сообщений. Из пользователей будет браться их местоположение и отображаться на карте.
  • message - хранит в себе текст сообщения, id пользователя и комнаты.

About

Chat + map

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 90.3%
  • HTML 8.3%
  • CSS 1.4%