Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Architechture v1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

SaaS Platform

Solution Architecture

DATE: May 2023

NTIGRA AI APPLICATIONS AND SERVICE LLC.

2144 - Binary Tower, Business Bay,


Dubai – UAE
www.ntigra.com
Version Details
Date Description Prepared By Approved By

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
Introduction
It’s a comprehensive guide that outlines the architecture principles, components, and best
practices for designing and implementing Software as a Service (SaaS) solutions. SaaS has
emerged as a dominant model for delivering software applications to users, offering
unparalleled flexibility, scalability, and cost-efficiency.

Use Cases.

Administrator Role
Use Case 1: Manage Products.
Actor: Administrator
Description: The administrator manages the products available on the SaaS platform.
Flow:
1. The administrator selects the "Manage Products" option.
2. The admin screen displays a list of existing products.
3. The administrator can add new products, edit existing ones, or delete products.
4. The changes made to the products are saved in the system.

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
Use Case 2: Manage Plans
Actor: Administrator
Description: The administrator manages the plans offered within each product on the SaaS
platform.
Flow:
1. The administrator selects the "Manage Plans" option.
2. The admin screen displays a list of plans for a selected product.
3. The administrator can add new plans, edit existing plans, or delete plans.
4. The changes made to the plans are saved in the system.

Use Case 3: Manage Product Roles


Actor: Administrator
Description: The administrator manages the roles associated with a product on the SaaS
platform.
Flow:
1. The administrator selects the "Manage Product Roles" option.
2. The admin screen displays a list of roles for a selected product.
3. The administrator can add new roles, edit existing roles, or delete roles.
4. The changes made to the roles are saved in the system.

Use Case 4: Manage Product Menus


Actor: Administrator
Description: The administrator manages the menus and navigation options within a product
on the SaaS platform.
Flow:
1. The administrator selects the "Manage Product Menus" option.
2. The admin screen displays a list of menus for a selected product.
3. The administrator can add new menus, edit existing menus, or delete menus.
4. The changes made to the menus are saved in the system.

Use Case 5: Customer Registration


Actor: Administrator
Description: The administrator registers a new customer on the SaaS platform.
Flow:
1. The administrator selects the "Register Customer" option.
2. The administrator fills out the registration form on behalf of the customer.
3. The platform validates the provided information.
4. The platform creates a new customer account.

Use Case 6: Subscription Management


Actor: Administrator

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
Description: The administrator manages subscriptions for customers on the SaaS platform.
Flow:
1. The administrator selects the "Manage Subscriptions" option.
2. The platform displays a list of customers and their subscriptions.
3. The administrator can add new subscriptions, modify existing subscriptions, or cancel
subscriptions for customers.
4. The platform updates the subscription status accordingly.

Use Case 7: User Management


Actor: Administrator
Description: The administrator manages user accounts on the SaaS platform.
Flow:
1. The administrator selects the "Manage Users" option.
2. The platform displays a list of users registered on the platform.
3. The administrator can create new user accounts, modify existing user accounts, or
deactivate user accounts.
4. The platform saves the changes made to user accounts.

Use Case 8: Customer Profile Management


Actor: Administrator
Description: The administrator manages customer profile information on the SaaS platform.
Flow:
1. The administrator selects the "Manage Customer Profiles" option.
2. The platform displays a list of customer profiles.
3. The administrator can edit customer profile details, such as contact information or billing
preferences.
4. The platform saves the updated customer profile information.

Product End User Role


Use Case: User Login via API
Actor: User
Description: The user logs into Ntigra’s Products using the API.
Flow:
1. The user initiates an API request to the login endpoint of the platform
(Discovery/Analytika/DataOcean).
2. The user includes their login credentials (username and password) in the API
request.
3. The SaaS platform authenticates the user's credentials.
4. If the credentials are valid, the platform generates an authentication token and
returns it in the API response.
5. The user receives the authentication token.

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
6. The user includes the authentication token in subsequent API requests as a means of
authentication.
7. The SaaS platform validates the authentication token for each API request to ensure
the user's authorization.
8. The user gains access to the desired resources and functionalities of the SaaS
platform via the API.

Note: Additional steps, such as token expiration and refresh mechanisms, can be included in
the flow to enhance security and user experience.

ER Diagram.
Product
Column Name Data Type Allow Nulls ProductRoles
Column Name Data Type Allow Nulls
Id int
Id int
Code varchar(50)
ProductId int
Name varchar(100)
FK_ProductRoles_Product Role varchar(100)
Status int
Description varchar(100)
StartDate date

EndDate date

FK_ProductRoleMenu_ProductRoles

ProductRoleMenu
Column Name Data Type Allow N...

Id int

FK_ProductPlanLink_Product PRId int

PMId int

ViewOnly bit

Creation bit

Updation bit

Deletion bit
ProductPlanLink
Column Name Data Type Allow N...
FK_ProductMenu_Product
Id int FK_ProductRoleMenu_ProductMenu

ProductId int

PlanId int

Status int
ProductMenu
CreatedDate date Column Name Data Type Allow Nulls

Id int

ProductId int

MenuName varchar(100)
FK_ProductPlanLink_Plan
Description varchar(150)

ParentId int
Plan Url varchar(50)
Column Name Data Type Allow Nulls
Status int
Id int

Code varchar(50)

Name varchar(50)

StartDate date

EndDate date FK_PPL-PMLink_ProductMenu


FK_PPL-PMLink_ProductPlanLink
Status int

PPL-PMLink
Column Name Data Type Allow N...

Id int

PPLId int

PMId int

Status int

CreatedDate date

Figure1 # Master Tables

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
CustomerGroup
Column Name Data Type Allow Nulls
Id int
GroupName varchar(100)
Type varchar(10)
Status int
CreatedDate datetime
CreatedBy int
UpdateBy int
UpdateDate datetime

Subscription
Column Name Data Type Allow Nulls
Id int
PPLId int
CustId int
StartDate date
EndDate date
Status int
CreatedDate datetime
CustomerDetails
CreatedBy int Column Name Data Type Allow Nulls
UpdatedBy int Id int
UpdatedDate datetime GroupId int
CustomerName varchar(100)
CustomerCode varchar(20)
LicenseNo varchar(50)
Regulator varchar(25)
CreatedDate datetime
CreatedBy int
UserSubscription UpdateDate datetime
Column Name Data Type Allow Nulls UpdatedBy int
Id int Status int
UserId int
SubscriptionId int
ProdRoleId int
Status int
CreatedBy int
CreatedDate datetime
ModifiedBy int
ModifiedDate datetime

Users
Column Name Data Type Allow Nulls
Id int
CustId int
UserPasswordHistory
Title varchar(10)
Column Name Data Type Allow N...
FirstName varchar(50)
Id int
LastName varchar(50)
UserId int
Mobile varchar(20)
Password varchar(MAX)
Email varchar(50)
CreatedDate date
Password varchar(MAX)
Salt varchar(50)
CreatedDate datetime
CreatedBy int
Status int
ModifiedDate datetime
LastPasswordDate date
PasswordPolicyId int

PasswordPolicy
Column Name Data Type Allow Nulls
Id int
PolicyName varchar(100)
MinLength int
ReqUpperCase bit
ReqLowerCase bit
ReqNumbers bit
ReqSpecialChar bit
ExpirationDays int
MaxFailedAttempts int
LockoutDuration int

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
Screens (UI/UX)

Refer PDF Screen

API LIST

Page
Index Ref API Url
Account
1.0 1.0 Login Page Account/Singin
Product
2.0 3.0 Product List Product/GetAll
2.1 3.1 Add Product Product/Create
2.2 3.0 Get Product By Id Product/GetById
2.3 3.2 Edit Product Product/Update
2.4 3.0 Update product Status Product/UpdateStatus
Product/Lookup {Response: Value ,
2.5 Product Lookup Text}
Product Menu
Get Product Menu by Product Id -
3.0 3.2A List Product/GetAllMenu
3.1 3.2A.1 Add Product Menu Product/CreateMenu
3.2 3.2A.1 Get Product Menu by Menu Id Product/GetMenuById
3.3 3.2A.1 Edit Product Menu Product/UpdateMenu
3.4 3.2A.1 Update Product Menu Status Product/UpdateMenuStatus
Product/LookupProductMenu
Get Product Menu - LookUp {Response: Value , Text}
Product Role
Get Product Role by Product Id -
4.0 3.2B List Product/GetAllRole
4.1 3.2B.1 Add Product Role Product/CreateRole
4.2 3.2B.1 Get Product Role by Role Id Product/GetRoleById
4.3 3.2B.1 Edit Role Menu Product/UpdateRole
4.4 3.2B.1 Update Product Role Status Product/UpdateRoleStatus
Product/LookupProductRole
4.5 Product Role - LookUp {Response: Value , Text}
Plans
5.0 4.0 Plans List Plan/GetAll
5.1 4.1 Add Plan Plan/Create
5.2 4.1 Get Plan By Id Plan/GetById
5.3 4.1 Edit Plan Plan/Update

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited
5.4 4.0 Update Plan Status Plan/UpdateStatus
5.5 Plan Lookup Plan/Lookup {Response: Value , Text}
Product Plan
6.0 5.0 Product Plan List ProductPlan/GetAll
6.1 5.1 Add Product Plan ProductPlan/Create
6.2 5.1 Get Product Plan By Id ProductPlan/GetById
6.3 5.1 Edit Product Plan ProductPlan/Update
6.4 5.0 Update Product Plan Status ProductPlan/UpdateStatus
Product Plan Menu List - Product
6.5 5.2 Plan Id ProductPlan/GetAllMenu
6.6 5.2.1 Add Product Plan Menu ProductPlan/CreateMenu
6.7 5.2.2 Get Product Plan Menu by Menu Id ProductPlan/GetMenuById
6.8 5.2.2 Edit Product Plan Menu ProductPlan/UpdateMenu
6.9 5.2.1 Update Product Plan Menu Status ProductPlan/UpdateMenuStatus

Copyright © NTIGRA 2022 - All rights reserved


Unauthorized copy or use of this document is strictly prohibited

You might also like