Я должен подготовить спецификацию, чтобы предоставить дорожную карту разработчикам для создания собственного проекта.Проект будет состоять из веб-приложения и мобильного приложения.Мобильное приложение будет использоваться для сбора отзывов пользователей. Обычно мобильное приложение должно отображать пару вопросов, на которые пользователь должен ответить.
Примеры вопросов приведены ниже;
- Использовали ли вы средство для чистки обуви для чистки обуви?
- Вы смотрели новости ночью?
Собранные данные будут отправлены на сервер sql.
Веб-приложение должно использоваться для публикации вопросов в мобильном приложении, веб-приложение также должно использоваться для просмотра отчетов.Веб-приложение должно иметь следующие функции;1. Опубликуйте опросы в мобильном приложении, это можно сделать с помощью MQTT, AMQP или аналогичного протокола.2. Просмотр данных в форме диаграммы. 3. Управление устройствами, такими как регистрация новых мобильных устройств и т. Д.
Что необходимо Этот проект будет сплит и назначен на 3 команды, команду бэкэнда (команда Api), команду frontEnd иКоманда мобильных разработчиков.Предполагается, что функциональные возможности бэкэнда входят в Api, внешний интерфейс всегда должен обращаться к бэкэнду для получения данных, в основном, бизнес-логике не разрешается входить в интерфейсную часть.Внешний интерфейс будет писать только css / html / js для разметки и презентации, остальные функциональные возможности должны использоваться через API.
Мне нужно написать подробную спецификацию того, как проект должен быть реализован,Бэкэнд будет реализован на PHP с симфонией.Внешний интерфейс может быть любым фреймворком JavaScript, мобильное приложение будет реализовано в Android.
Можете ли вы, как я должен моделировать бэкэнд (Api), чтобы он содержал все функциональные возможности, необходимые в Интернетеприложение?Кроме того, создание функциональности поверх API - хорошая стратегия для этого проекта?Должен ли я идти монолитным путем, соединяя вместе передний и внутренний интерфейсы (это затруднит работу одного разработчика на внешнем интерфейсе, а другого - на внутреннем / api)?