Architechture v1
Architechture v1
Architechture v1
Solution Architecture
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.
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
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
PPL-PMLink
Column Name Data Type Allow N...
Id int
PPLId int
PMId int
Status int
CreatedDate date
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
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