Skip to content

The Cloud Database Management System plays a pivotal role in the effective execution of the CRUD (Create, Read, Update, Delete) process within our Analysis and Reporting System

Notifications You must be signed in to change notification settings

NolanMM/Azure_MySQL_Database_Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Release_Work_Flow


Cloud_Database_Management_System


Table of Contents

I. Cloud_Database_Management_System

1. Cloud_Database_Management_System

The Cloud Database Management System plays a pivotal role in the effective execution of the CRUD (Create, Read, Update, Delete) process within our Analysis and Reporting System

2. ClientGetHttp

Add Later

3. OTP_Centre

Add Later

4. Security_Services_Dev_Env

Add Later

5. Databbase_Tests

Add Later

6. PageViewTable_Services_Tests

Add Later

7. SaleTransactionTable_Services_Tests

Add Later

8. FeedbackTable_Services_Tests

Add Later

9. TestRouteToDatabase

Add Later

10. UserviewTable_Services_Tests

Add Later


II. Table of Contents


2. Tech Stack

  • Server: ASP.NET 6.0 Server API
  • Front-end: JavaScript, HTML(string), CSS
  • Database: Azure MySQL

Back To Top


3. Endpoints

.root:https://analysisreportingdatabasemodulegroup1.azurewebsites.net/Group1/DatabaseController

Help Page:https://analysisreportingdatabasemodulegroup1.azurewebsites.net/Group1/DatabaseController/Help

Login Process Requests Options
  • GET -> root/Login
  • POST -> root/CheckAcount/ {username} / {password}
Sign Up Process Requests Options
  • 1. GET -> .root/SignUp
  • 2. POST
    • 2.1 -> .root/Register/ {registerUsername} / {registerEmail} / {registerPassword}
    • 2.2 -> .root/VerifyOTP/ {OTP_CODE_ID (From 2.1 Response)} / {otpCode(Email)}
Get Data from Table By Table Number Related Requests
  • 1. GET -> .root/ {username} / {password} /group {groupId} / {tableNumber}
Get All Tables From Database Request
  • 1. GET -> .root/ {username} / {password} /group {groupId} /GetAllData
Post Data to Table By DataObject Related Requests Options
  • 1. POST -> .root/ {username} / {password} /group {groupId}/ {tableNumber}
    • 1.2 Body: Data Struct
  • 1. Sample POST Corresponding to Data
    • UserView -> .root/{username}/{password}/group1/0
      • Body: -H "Content-Type: application/json" -d '{"UserView_ID": 1, "User_ID": "user123", "Product_ID": "product123", "Time_Count": 2.5, "Date_Access": "2023-11-20T12:00:00"}'
    • PageView -> .root/{username}/{password}/group1/0
      • Body: -H "Content-Type: application/json" -d '{"PageView_ID": 1, "Page_Name": "Page1", "Page_Info": "Info1", "Product_ID": "product123", "Start_Time": "2023-11-20T12:00:00", "UserID": "user123"}'
    • Transaction -> .root/{username}/{password}/group1/0
      • Body: -H "Content-Type: application/json" -d '{"Transaction_ID": "trans123", "User_ID": "user123", "Order_Value": 100.5, "date": "2023-11-20T12:00:00", "Details_Products": "[{\"Product_ID\": \"P0006\", \"Product_Price\": 120.25, \"Product_Quantity\": 10},{\"Product_ID\": \"P884723\", \"Product_Price\": 120.25, \"Product_Quantity\": 18},{\"Product_ID\": \"P92713\", \"Product_Price\": 221.25, \"Product_Quantity\": 12}]" }'
    • Feedback -> .root/{username}/{password}/group1/0
      • Body:-H "Content-Type: application/json" -d '{"Feedback_ID": 1, "User_ID": "user123", "Product_ID": "product123", "Stars_Rating": 4.5, "Date_Updated": "2023-11-20T12:00:00"}'

4. Cloud_Database_Management_System Data Structures

4.1 Group_1_Record_Interface
    public abstract class Group_1_Record_Interface : Group_Data_Model
    {
        public override string ToString()
    }
4.2 Valid User Views Data Structure
    public class UserView : Group_1_Record_Interface
    {
        public int UserView_ID { get; set; }
        [Required]
        public string User_ID { get; set; }
        [Required]
        public string Product_ID { get; set; }
        [Required]
        public decimal Time_Count { get; set; }
        [Required]
        public DateTime Date_Access { get; set; }
        
        public override string ToString()

    }
4.3 Website logs Data Structure
    public class PageView : Group_1_Record_Interface
    {
        public int PageView_ID { get; set; }
        [Required]
        [MaxLength(45)]
        public string Page_Name { get; set; }
        [Required]
        [MaxLength(45)]
        public string Page_Info { get; set; }
        [Required]
        [MaxLength(45)]
        public string Product_ID { get; set; }
        [Required]
        public DateTime Start_Time { get; set; }
        [Required]
        [MaxLength(50)]
        public string UserID { get; set; }

        public override string ToString()
    }
4.4 Sales Transactions Data Structure
    public class SaleTransaction : Group_1_Record_Interface
    {
        [Required]
        public string Transaction_ID { get; set; }
        [Required]
        public string User_ID { get; set; }
        [Required(ErrorMessage = "Order Value is required")]
        [Range(0.00001, double.MaxValue, ErrorMessage = "Required Order value > 0")]
        public decimal Order_Value { get; set; }
        [Required(ErrorMessage = "Date is required")]
        [DateNotDefault(ErrorMessage = "Date must be filled")]
        public DateTime date { get; set; }

        [Required(ErrorMessage = "The item list cannot be empty")]
        [MaxLength(10000)]
        public string Details_Products { get; set; }

        public override string ToString()
    }
4.5 Feedback Data Structure
    public class Feedback : Group_1_Record_Interface
    {
        [Required]
        public int Feedback_ID { get; set; }
        [Required]
        [MaxLength(50)]
        public string User_ID { get; set; }
        [Required]
        [MaxLength(50)]
        public string Product_ID { get; set; }
        [Required(ErrorMessage = "Stars Rating is required")]
        public decimal Stars_Rating { get; set; }
        [Required(ErrorMessage = "Date is required")]
        [DateNotDefault(ErrorMessage = "Date must be filled")]
        public DateTime Date_Updated { get; set; }

        public override string ToString()
    }

Back To Top

5. High Level Module Design

High Level Module Design Image

Back To Top


6. MVP Designs

6.1 EndPoint 1: .root/Help
Design UI Help Page MVP Designs 2
Preview UI Help Page MVP Preview UI 2 1
6.2 EndPoint 2: .root/Login
Design MVP Designs Login
Preview UI Login MVP Preview UI Login
Design MVP Designs Login Success
Login Success MVP Preview UI Login Success
6.3 EndPoint 3: .root/SignUp
Design Sign Up MVP Designs 2
Preview UI Sign Up MVP Preview UI 2 1
Sign Up Success MVP Designs Sign Up Success
Preview UI Sign Up Success MVP Preview UI Sign Up Success 1
6.4 Email MVP
Design Email Template MVP Designs 2
Preview UI Email MVP Preview UI 2 1

7. Nuget Packages Install

  • Newtonsoft.Json: 13.0.3
  • MySqlConnector: 2.2.7
  • Swashbuckle.AspNetCore: 6.5.0
  • Swashbuckle.AspNetCore.Swagger: 6.5.0
  • Swashbuckle.AspNetCore.SwaggerGen: 6.5.0
  • Swashbuckle.AspNetCore.SwaggerUI: 6.5.0

Back To Top


About

The Cloud Database Management System plays a pivotal role in the effective execution of the CRUD (Create, Read, Update, Delete) process within our Analysis and Reporting System

Resources

Stars

Watchers

Forks

Packages

No packages published