Add architecture documentation and functional requirements for Calminer project - Created Building Block View (05_building_block_view.md) detailing system architecture and component interactions. - Developed Runtime View (06_runtime_view.md) outlining key user scenarios and interactions within the system. - Established Deployment View (07_deployment_view.md) describing the infrastructure and mapping of building blocks to deployment components. - Added README.md for architecture documentation structure. - Introduced functional requirements (FR-001 to FR-010) covering scenario management, data import/export, reporting, user management, and collaboration features. - Included templates for documenting requirements to ensure consistency across the project.
14 KiB
14 KiB
Runtime View
Table of Contents
Login Process
- The user navigates to the login page.
- The user enters their credentials (username and password).
- The API Layer receives the login request and forwards it to the Authentication Service in the Service Layer.
- The Authentication Service validates the credentials against the user data stored in the Database System via the Data Access Layer.
- If the credentials are valid, the Authentication Service generates a session token and sends it back to the API Layer.
- The API Layer returns the session token to the user, granting access to the system.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant AS as Authentication Service
participant DB as Database System
U->>API: Submit login credentials
API->>AS: Forward credentials
AS->>DB: Validate credentials
DB-->>AS: Return validation result
alt Valid Credentials
AS->>API: Generate session token
API->>U: Return session token
else Invalid Credentials
AS->>API: Return error message
API->>U: Return error message
end
Project Creation
Mining Method Selection
- The user selects the option to create a new project.
- The API Layer presents the user with a list of available mining methods.
- The user selects a mining method from the list.
- The API Layer forwards the selection to the Service Layer.
- The Service Layer retrieves the details of the selected mining method from the Data Access Layer.
- The Data Access Layer queries the Database System for the mining method information.
- The Database System returns the mining method details to the Data Access Layer.
- The Data Access Layer sends the mining method details back to the Service Layer.
- The Service Layer returns the mining method details to the API Layer.
- The API Layer displays the mining method details to the user for confirmation.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
U->>API: Select mining method
API->>S: Forward selection
S->>D: Retrieve available methods
D-->>S: Return methods
S-->>API: Return methods
API->>U: Display methods
U->>API: Confirm selection
API->>S: Forward confirmation
S->>D: Store selected method
D-->>S: Acknowledge storage
Scenario Creation
Default Business Scenario
- The user selects the option to create a default business scenario.
- The API Layer receives the request and forwards it to the Service Layer.
- The Service Layer initiates the creation of a default scenario in the Data Access Layer.
- The Data Access Layer creates the default scenario in the Database System.
- The Database System acknowledges the creation of the scenario to the Data Access Layer.
- The Data Access Layer confirms the scenario creation to the Service Layer.
- The Service Layer notifies the API Layer of the successful scenario creation.
- The API Layer informs the user that the default business scenario has been successfully created.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
U->>API: Request default scenario creation
API->>S: Forward request
S->>D: Create default scenario
D-->>S: Acknowledge creation
S-->>API: Confirm scenario creation
API->>U: Notify user of successful creation
Parameter Configuration
- The user navigates to the parameter configuration section.
- The API Layer retrieves the current configuration parameters from the Service Layer.
- The Service Layer requests the parameters from the Data Access Layer.
- The Data Access Layer queries the Database System for the configuration parameters.
- The Database System returns the configuration parameters to the Data Access Layer.
- The Data Access Layer sends the parameters back to the Service Layer.
- The Service Layer forwards the parameters to the API Layer.
- The API Layer displays the current configuration parameters to the user.
- The user modifies the desired parameters and submits the changes.
- The API Layer forwards the updated parameters to the Service Layer.
- The Service Layer updates the parameters in the Data Access Layer.
- The Data Access Layer saves the updated parameters in the Database System.
- The Database System acknowledges the update to the Data Access Layer.
- The Data Access Layer confirms the update to the Service Layer.
- The Service Layer notifies the API Layer of the successful parameter update.
- The API Layer informs the user that the parameters have been successfully updated.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
participant DB as Database System
U->>API: Request current parameters
API->>S: Forward request
S->>D: Retrieve parameters
D->>DB: Query parameters
DB-->>D: Return parameters
D-->>S: Send parameters
S-->>API: Forward parameters
API->>U: Display parameters
U->>API: Submit updated parameters
API->>S: Forward updates
S->>D: Update parameters
D->>DB: Save updated parameters
DB-->>D: Acknowledge update
D-->>S: Confirm update
S-->>API: Notify successful update
API->>U: Inform user of success
Basic Accounting Setup
- The user accesses the basic accounting setup section.
- The API Layer retrieves the current accounting settings from the Service Layer.
- The Service Layer requests the settings from the Data Access Layer.
- The Data Access Layer queries the Database System for the accounting settings.
- The Database System returns the accounting settings to the Data Access Layer.
- The Data Access Layer sends the settings back to the Service Layer.
- The Service Layer forwards the settings to the API Layer.
- The API Layer displays the current accounting settings to the user.
- The user modifies the accounting settings and submits the changes.
- The API Layer forwards the updated settings to the Service Layer.
- The Service Layer updates the settings in the Data Access Layer.
- The Data Access Layer saves the updated settings in the Database System.
- The Database System acknowledges the update to the Data Access Layer.
- The Data Access Layer confirms the update to the Service Layer.
- The Service Layer notifies the API Layer of the successful accounting settings update.
- The API Layer informs the user that the accounting settings have been successfully updated.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
participant DB as Database System
U->>API: Request current accounting settings
API->>S: Forward request
S->>D: Retrieve settings
D->>DB: Query settings
DB-->>D: Return settings
D-->>S: Send settings
S-->>API: Forward settings
API->>U: Display settings
U->>API: Submit updated settings
API->>S: Forward updates
S->>D: Update settings
D->>DB: Save updated settings
DB-->>D: Acknowledge update
D-->>S: Confirm update
S-->>API: Notify successful update
API->>U: Inform user of success
Currency Setup
- The user navigates to the currency setup section.
- The API Layer retrieves the current currency settings from the Service Layer.
- The Service Layer requests the settings from the Data Access Layer.
- The Data Access Layer queries the Database System for the currency settings.
- The Database System returns the currency settings to the Data Access Layer.
- The Data Access Layer sends the settings back to the Service Layer.
- The Service Layer forwards the settings to the API Layer.
- The API Layer displays the current currency settings to the user.
- The user modifies the currency settings and submits the changes.
- The API Layer forwards the updated settings to the Service Layer.
- The Service Layer updates the settings in the Data Access Layer.
- The Data Access Layer saves the updated settings in the Database System.
- The Database System acknowledges the update to the Data Access Layer.
- The Data Access Layer confirms the update to the Service Layer.
- The Service Layer notifies the API Layer of the successful currency settings update.
- The API Layer informs the user that the currency settings have been successfully updated.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
participant DB as Database System
U->>API: Request current currency settings
API->>S: Forward request
S->>D: Retrieve settings
D->>DB: Query settings
DB-->>D: Return settings
D-->>S: Send settings
S-->>API: Forward settings
API->>U: Display settings
U->>API: Submit updated settings
API->>S: Forward updates
S->>D: Update settings
D->>DB: Save updated settings
DB-->>D: Acknowledge update
D-->>S: Confirm update
S-->>API: Notify successful update
API->>U: Inform user of success
Report Generation
- The user selects the option to generate a report.
- The API Layer receives the report generation request and forwards it to the Reporting Module in the Service Layer.
- The Reporting Module retrieves the necessary data from the Data Access Layer.
- The Data Access Layer queries the Database System for the required data.
- The Database System returns the data to the Data Access Layer.
- The Data Access Layer sends the data back to the Reporting Module.
- The Reporting Module processes the data and generates the report.
- The Reporting Module returns the generated report to the API Layer.
- The API Layer delivers the report to the user for download or viewing.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
participant DB as Database System
U->>API: Request report generation
API->>S: Forward request
S->>D: Retrieve data for report
D->>DB: Query data
DB-->>D: Return data
D-->>S: Send data
S-->>API: Forward data
API->>U: Display report
User Management
- The user navigates to the user management section.
- The API Layer retrieves the list of users from the Service Layer.
- The Service Layer requests the user list from the Data Access Layer.
- The Data Access Layer queries the Database System for the user information.
- The Database System returns the user information to the Data Access Layer.
- The Data Access Layer sends the user information back to the Service Layer.
- The Service Layer forwards the user information to the API Layer.
- The API Layer displays the list of users to the administrator.
- The administrator can add, modify, or delete users as needed.
- The API Layer forwards any user management actions to the Service Layer.
- The Service Layer processes the actions in the Data Access Layer.
- The Data Access Layer updates the user information in the Database System.
- The Database System acknowledges the updates to the Data Access Layer.
- The Data Access Layer confirms the updates to the Service Layer.
- The Service Layer notifies the API Layer of the successful user management actions.
- The API Layer informs the administrator of the successful user management operations.
sequenceDiagram
autonumber
participant U as User
participant API as API Layer
participant S as Service Layer
participant D as Data Access Layer
participant DB as Database System
U->>API: Request user information
API->>S: Forward request
S->>D: Retrieve user data
D->>DB: Query user data
DB-->>D: Return user data
D-->>S: Send user data
S-->>API: Forward user data
API->>U: Display user information
U->>API: Submit user management actions
API->>S: Forward actions
S->>D: Process user management actions
D->>DB: Update user information
DB-->>D: Acknowledge updates
D-->>S: Confirm updates
S-->>API: Notify successful actions
API->>U: Inform user of success