Contactly
- Projects
- Contactly
Contactly
Agile Software Architecture
NB : This document will always be a work in progress as we are using an agile methodology. The main purpose for the CDAAS (Customer Data As A Service/Contaclty/AgoraCXP) project is to allow for a RestFUL API interface to handle full CRUDL (Create, Read, Update, Delete, List) operations on Customer data, namely - Customer details - Subscriptions - Orders - Cancellations These API's can be consumed by any affiliate. There will also be a standard Customer Service Dashboard (UI) front end available
Use Case The main features of the AgoraCXP/Contaclty design :- To empower subscribers viewing their details by providing them with an application (API or Front End). Professional user design and best practices Allow for quick feature development Admin interface for affiliates to update data, other timely information Enhance page load times Scalable (thousands of concurrent users) Robust (High availability) Cloud enabled User Stories As a subscriber/agent/bot I want to be able edit the customer details (profile) so that the system reflects the most up to date data about the customer Acceptance Criteria - Search for specific items/s - Update/Delete/Insert customer profile data - Meets the design spec - Fast load time and performance Tasks - BE - MS that interfaces to middleare to get and update data - FE - View (search) customer profile data - FE - Update/Insert/Delete As a subscriber/agent/bot I want to be able to cancel a subscription quickly and easily As a subscriber/agent/bot I want to be able to edit the auto-renewal status of my subscription As a customer/agent/bot I want to be able to place an order quickly and easily As a customer/agent/bot I want to be able to confirm an order so I know the details of what was ordered As a customer/agent/bot I want to be able to confirm the delivery status of an order As a subscriber/agent/bot I want to be able to reset my password so I can access the website As a subscriber/agent/bot I want to be able to update a credit card number held on file, whenever the card details change As a subscriber/agent/bot I want to be able to pay an outstanding invoice As a subscriber/agent/bot I want to be able to see a list of previous purchases
Overview The software architecture overview will best be described in the following diagram Architecture Overview Diagram Overview Description The software architecture is broken up into several layers. The front end consists of 2 different application interfaces one for the admin console and the other for the actual customer service dashboard The admin console is used to update data that was not included or has some important information changes. The backend is broken up into several microservices. Architecture Detail (Openshift deploy) Diagram
curl -d '{}' https://api-gateway/api/v1/auth