-
Notifications
You must be signed in to change notification settings - Fork 6
Architecture
The CareTogether CMS is built using React/Typescript and ASP.NET Core/C#, and is hosted in Microsoft Azure. However, that is only a very narrow view of some of the technologies involved. Because architecture can also be viewed through a number of other lenses, this page describes the key architectural views for the nonfunctional requirements of the CareTogether CMS.
The backend of the system follows the IDesign method to achieve a volatility-based decomposition. If that term makes complete sense to you, keep reading; otherwise, stop and read the linked article first. (Really.) Okay, now that you understand the concept (you did read the article, right?), here is how the CareTogether architecture encapsulates areas of volatility:
- Clients
- API: The CareTogether.Api project represents the primary (and currently, the only) client of the system. It is a backend-for-frontend that's narrowly focused on supporting the needs of the React single-page application UI. The API's job is to process HTTP requests, dispatch authenticated requests to the underlying managers, and generate HTTP responses based on the responses from the managers.
- Managers
- Communications Manager
- Records Manager
- Engines
- Authorization Engine
- Policy Evaluation Engine
- Resource Access/Resources
- Accounts Resource
- Approvals Resource
- Communities Resource
- Directory Resource
- Goals Resource
- Notes Resource
- Policies Resource
- Referrals Resource
- Utilities
- Event Log
- File Store
- Object Store
- Telephony
TODO...
See Security
TODO...