Это мобильное приложение которое поможет скоординироваться группе людей, находящихся в пределах одного города или местности. Для этого будет доступен чат и карта с актуальным местонахождением каждого участника.
Предварительный список фич на 08.03.2018
- Авторизация по Google API. После авторизации будет предложено ввести никнейм, который будет использоваться по дефолту.
- Создание/выбор/поиск чат-комнат. Пользователь, создавший комнату, становится в ней администратором. В mvp-версии администратор будет один и сможет удалять пользователей из комнаты.
- Генерация текстового и QR кода комнаты, по которому ее можно найти либо расшарить.
- Выбор псевдонима при первом заходе в комнату. Изначально будет предлагаться дефолтный никнейм. Пока что пользователь одновременно сможет находиться только в одной комнате.
- Чат, изначально на 20 человек (предварительно). Цвет никнейма каждого пользователя будет уникальным в пределах сервера. Будет сделана поддержка emoji, но, скорее всего, не в mvp-версии.
- Отображение карты над чатом. Маркерами будет обозначено текущее местоположение пользователя и всех остальных участников. Цвет каждого маркера будет соответствовать цвету никнейма пользователя в чате.
- Отображение истории в 20 сообщений при первом подключении к комнате.
На клиенте:
- Typescript
- React
- Redux
- Styled components
- Antd design
На сервере (предварительно):
- NodeJS
- Express
- Socket.io
- MongoDB
Предполагаемые сущности на беке:
user
- информация о пользователе: местоположение, доступные комнаты, дефолтный никнейм.room
- информация о чат-комнате: id пользователей, их роли и ники, id сообщений. Из пользователей будет браться их местоположение и отображаться на карте.message
- хранит в себе текст сообщения, id пользователя и комнаты.