Skip to content
Jordan Jeffries edited this page Jan 19, 2017 · 10 revisions

Project Architecture

Proposed Change to Architecture

Rather than having the campaign database accessible by both the conversation API and the management API, the database will be accessible exclusively by the management API, and the conversation API will make requests to the management API periodically to retrieve campaigns.

This removes a dependency between the management API and the conversation API, allowing for schema changes in the campaign database without needing to update the conversation API, assuming that the public management API does not include any backward compatible changes as part of the new version.

Components

  1. Messenger App (Web, iOS, Android, etc)
  2. Conversation API (Node.js + Express)
  3. Management API (Node.js + Express)
  4. Management App (React)
  5. Management Database (MongoDB)
  6. Campaign Database (MongoDB)