workspace "IXOlist | Token Offer | Architectures * Round" "" { !identifiers hierarchical model { properties { "structurizr.groupSeparator" "/" } group "IXOlist" { Creator = person "Creator" { } Participant = person "Participant" { } Moderator = person "Moderator" { } token-offering = softwareSystem "Token Offer" { description "Architectures * Round" tags "Architectures softwaresystem" url "https://ixolist.netlify.app/apps/token-offer/" } group "Round Create" { Round_Internal-create = softwareSystem "Internal" { Round_Type = container "Round Type" { tags "Button Rout" } Finances = container "Finances" { group "Price" { Contract_Name = component "Contract Name" { tags "Input Field" } Value = component "Value" { tags "Input Field" } Add = component "Add" { tags "Input Field" } } group "Token" { Minimal = component "Minimal" { tags "Input Field" } Maximum = component "Maximum" { tags "Input Field" } } group "Offered" { Value1 = component "Amount*" { tags "Input Field" } } #include \ # "./Periods/index.dsl" tags "Button Rout" } Periods = container "Periods" { tags "Button Rout" group "Periods" { From = component "From" { tags "Input Field" } To = component "To" { tags "Input Field" } } } Finish = container "Finish" { tags "Button Rout" } Create = container "Create" { tags "Button Rout" } } Round_External-create = softwareSystem "External" { #!include \ # "./Round_Type/index.dsl" # #!include \ # "./Finances/index.dsl" # #!include \ # "./Periods/index.dsl" # #!include \ # "./Finish/index.dsl" # #!include \ # "./Create/index.dsl" Reference_Link = container "Reference Link" { tags "Button Rout" } } } group "Round" { main_info = softwaresystem "Main Info" { tags "Main Info" organization = container "Organization" { tags "Input Field" } division = container "Division" { tags "Input Field" } symbol = container "Symbol" { tags "Input Field" } smart_contract = container "Smart contract" { tags "Input Field" } jurisdiction = container "Jurisdiction" { tags "Input Field" } network = container "Network" { tags "Input Field" } } specification = softwaresystem "Specification" { tags "Main Info" end-date = container "End date" { tags "Input Field" } max = container "Max" { tags "Input Field" } min = container "Min" { tags "Input Field" } offered = container "Offered" { tags "Input Field" } price = container "Prices per one token" { tags "Input Field" } public = container "Public" { tags "Input Field" } publication-status = container "Publication status" { tags "Input Field" } purchased = container "Purchased" { tags "Input Field" } refundable = container "Refundable" { tags "Input Field" } round-number = container "Round number" { tags "Input Field" } round-type = container "Round type" { tags "Input Field" } scope = container "Scope" { tags "Input Field" } start-date = container "Start date" { tags "Input Field" } } document-list = softwaresystem "Documents" { tags "Button Rout" required = container "Required documents" { tags "Main Info" } add = container "Add" { tags "Button state" "url" = component "URL" { tags "Input Field" } document_type = component "Document type" { tags "Input Field" } submit = component "Submit" { tags "Button" } } group "Table" { campaign_id = container "Campaign ID" { tags "Input Field" } certificate = container "Certificate" { tags "Input Field" } hash = container "Hash" { tags "Input Field" } review_status = container "Review status" { tags "Input Field" } round_id = container "Round id" { tags "Input Field" } type = container "Type" { tags "Input Field" } "url" = container "URL" { tags "Input Field" } } } document = softwaresystem "Document" { tags "Button Rout" verification = container "Verification" { tags "Button" } edit = container "Edit" { tags "Button state" "url" = component "URL" { tags "Input Field" } hash = component "Hash" { tags "Input Field" } save = component "Save" { tags "Button" } check = component "Check new hash" { tags "Button" } } main_info = container "Main info" { tags "Main Info" } } transaction = softwaresystem "Transactions" { tags "Button Rout" accepted = container "Accepted" { tags "Type Transfer" group "Table" { transaction_id = component "Transaction ID" { tags "Input Field" } action_name = component "Action Name" { tags "Input Field" } } } purchase = container "Purchase" { tags "Type Transfer" group "Table" { Transaction_ID = component "Transaction ID" { tags "Input Field" } Action_Name = component "Action Name" { tags "Input Field" } } } withdrawed = container "Withdrawed" { tags "Type Transfer" group "Table" { Transaction_ID = component "Transaction ID" { tags "Input Field" } Action_Name = component "Action Name" { tags "Input Field" } } } } investor = softwaresystem "Investors" { group "Table" { account = container "Account" { tags "Input Field" } division = container "Division" { tags "Input Field" } organization = container "Organization" { tags "Input Field" } total_purchased = container "Total_Purchased" { tags "Input Field" } } tags "Button Rout" } round-create = softwaresystem "Round Create" { tags "Button" group "Round scope" { internal = container "Internal" { tags "Type Transfer" group "Round type" { round-type = component "Round type" { tags "Input Field" } button-dpor-list = component "*" { tags "Button drop list" } } group "Finances" { group "Pricing" { smart_contract = component "Smart contract" { tags "Input Field" } Token = component "Token" { tags "Input Field" } value = component "Amount" { tags "Input Field" } plus = component "**" { tags "Button plus" } check = component "****" { tags "Button check" } button-dpor-list-1 = component "***" { tags "Button drop list" } } group "Offering" { offered_value = component "Amount*" { tags "Input Field" } } group "Token limits per user" { min = component "Minimal" { tags "Input Field" } max = component "Maximum" { tags "Input Field" } } } group "Periods" { from = component "From" { tags "Input Field" } to = component "To" { tags "Input Field" } date-1 = component "D*" { description "" tags "Button date" } date-2 = component "D**" { description "" tags "Button date" } time-1 = component "T*" { description "" tags "Button clock" } time-2 = component "T**" { tags "Button clock" } } group "Specifics" { button-switcher = component "Is Refundable?" { tags "Button switcher" } } group "Transaction data" { submit = component "Submit" { tags "Button" } } group "Navigation buttons" { back = component "< Back" { tags "Button navigation" } forward = component "> Forward" { tags "Button navigation" } } } external = container "External" { tags "Type Transfer" } } } edit = softwaresystem "Edit" { tags "Button state" detail = container "Details" { tags "Button Rout" reference = component "Reference" { tags "Input Field" } Title = component "Title" { tags "Input Field" } "description" = component "Description" { tags "Input Field" } summary = component "Summary" { tags "Input Field" } update = component "Update" { tags "Button" } plus = component "*" { tags "Button plus" } } general = container "General" { tags "Button Rout" type-public = component "Is Public" { tags "Button switcher" } type-refundable = component "Is Refundable" { tags "Button switcher" } update = component "Update" { tags "Button" } remove = component "Remove" { tags "Button" } } finance = container "Finances" { tags "Button Rout" group "Offering" { offered_value = component "Amount" { tags "Input Field" } } update = component "Update" { tags "Button" } group "Token limits per user" { "maximium" = component "Maximum" { tags "Input Field" } minimal = component "Minimal" { tags "Input Field" } } group "Pricing" { smart_contract = component "Smart contract" { tags "Input Field" } token = component "Token" { tags "Input Field" } value = component "Amount*" { tags "Input Field" } check = component "***" { tags "Button check" } plus = component "*" { tags "Button plus" } revome = component "Remove price" { tags "Button" } button-dpor-list-1 = component "**" { tags "Button drop list" } } } period = container "Periods" { tags "Button Rout" from = component "From" { tags "Input Field" } "to" = component "To" { tags "Input Field" } update = component "Update" { tags "Button" } time-1 = component "T*" { description "" tags "Button clock" } time-2 = component "T**" { tags "Button clock" } date-1 = component "D*" { description "" tags "Button date" } date-2 = component "D**" { description "" tags "Button date" } } group "Pricing" { price = container "Price" { tags "Button Rout" smart_contract = component "Smart contract" { tags "Input Field" } token = component "Token" { tags "Input Field" } value = component "Amount" { tags "Input Field" } } } } test = element "A" "Soft" { } } } #!include \ # "./4-code/index.dsl" } views { properties { "structurizr.sort" "created" } systemLandscape "ixolist-token_offer-architecture-round-systemlandscape" { title "IXOlist | Token Offer | Architectures" include token-offering } container "round-create" "ixolist-token_offer-architecture-round-create-container" { title "IXOlist | Token Offer | Round - create" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } systemcontext "main_info" "ixolist-token_offer-architecture-round-systemcontext" { title "IXOlist | Token Offer | Round" # include "object identifier" include "*" include "specification" include "document-list" include "investor" include "transaction" include "edit" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "main_info" "ixolist-token_offer-architecture-round-main_info-container" { title "IXOlist | Token Offer | Round # Main info" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "specification" "ixolist-token_offer-architecture-round-specification-container" { title "IXOlist | Token Offer | Round # Specification" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "document-list" "ixolist-token_offer-architecture-round-documents-container" { title "IXOlist | Token Offer | Round # Documents" # include "object identifier" include "*" include "document" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "investor" "ixolist-token_offer-architecture-round-investor-container" { title "IXOlist | Token Offer | Round # Investor" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "transaction" "ixolist-token_offer-architecture-round-transaction-container" { title "IXOlist | Token Offer | Round # Transactions" # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } container "edit" "ixolist-token_offer-architecture-round-edit-container" { title "IXOlist | Token Offer | Round - edit" # include "object identifier" include "*" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" exclude "edit.price" # exclude "identifier relstionship -> identifier relstionship" } container "document" "ixolist-token_offer-architecture-round-document-container" { title "IXOlist | Token Offer | Round # Document" # include "object identifier" include "*" include "document" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "round-create.internal" "ixolist-token_offer-architecture-round-create-internal-component" { title "IXOlist | Token Offer | Round - create # Internal" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include "*" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "document-list.add" "ixolist-token_offer-architecture-round-document-add-component" { title "IXOlist | Token Offer | Round | Document - add" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "document.edit" "ixolist-token_offer-architecture-round-document-edit-component" { title "IXOlist | Token Offer | Round | Document - edit" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "transaction.purchase" "ixolist-token_offer-architecture-round-transaction-purchase-component" { title "IXOlist | Token Offer | Round | Transaction # Purchase" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "transaction.withdrawed" "ixolist-token_offer-architecture-round-transaction-withdrawed-component" { title "IXOlist | Token Offer | Round | Transaction # Withdrawed" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "transaction.accepted" "ixolist-token_offer-architecture-round-transaction-accepted-component" { title "IXOlist | Token Offer | Round | Transaction # Accepted" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "edit.general" "ixolist-token_offer-architecture-round-edit-general-component" { title "IXOlist | Token Offer | Round - edit # General" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "edit.period" "ixolist-token_offer-architecture-round-edit-geneperiodal-component" { title "IXOlist | Token Offer | Round - edit # Periods" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "edit.finance" "ixolist-token_offer-architecture-round-edit-finance-component" { title "IXOlist | Token Offer | Round - edit # Finances" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * include "edit.price" # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } component "edit.detail" "ixolist-token_offer-architecture-round-edit-detail-component" { title "IXOlist | Token Offer | Round - edit # Details" properties { "structurizr.softwareSystemBoundaries" "true" } # include "object identifier" include * # include "identifier relstionship -> identifier relstionship" # exclude "object identifier" # exclude "identifier relstionship -> identifier relstionship" } #!include \ #"./4-code/index.dsl" #!include \ # "./5-deployment/index.dsl" styles { element "Button_black" { shape "roundedbox" width "260" height "120" background "black" opacity "100" } element "Button_black" { border "solid" strokeWidth "0" # stroke "blue" } element "Button_black" { description true metadata true # icon } element "Button_black" { fontSize "16" color "white" } element "Main Info" { shape "box" width "370" height "250" background "white" opacity "100" } element "Main Info" { border "solid" strokeWidth "0" stroke "black" } element "Main Info" { description true metadata true # icon } element "Main Info" { fontSize "20" color "black" } element "Button Rout" { shape "box" width "370" height "115" background "white" opacity "100" } element "Button Rout" { border "dashed" strokeWidth "0" stroke "black" } element "Button Rout" { description true metadata true # icon } element "Button Rout" { fontSize "16" color "black" } element "input field" { shape "box" width "600" height "150" background "white" opacity "100" } element "input field" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "input field" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "input field" { fontSize "24" color "black" colour "black" } element "Input Field" { shape "box" width "600" height "150" background "white" opacity "100" } element "Input Field" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Input Field" { description true metadata true # icon } element "Input Field" { fontSize "24" color "black" colour "black" } element "Button" { shape "box" width "275" height "100" background "#008ae6" opacity "100" } element "Button" { border "solid" strokeWidth "0" #stroke "black" } element "Button" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Button" { fontSize "18" color "white" colour "white" } element "Info" { shape "box" width "370" height "250" background "white" opacity "100" } element "Info" { border "solid" strokeWidth "0" stroke "black" } element "Info" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Info" { fontSize "20" color "black" } element "Column" { shape "box" width "400" height "100" background "white" opacity "100" } element "Column" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Column" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Column" { fontSize "20" color "black" colour "black" } element "Type Transfer" { shape "box" width "400" height "300" background "white" opacity "100" } element "Type Transfer" { border "dashed" strokeWidth "0" stroke "black" } element "Type Transfer" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Type Transfer" { fontSize "20" color "black" } element "Token Button" { shape "roundedbox" width "260" height "120" background "black" opacity "100" } element "Token Button" { border "solid" strokeWidth "0" # stroke "blue" } element "Token Button" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Token Button" { fontSize "16" color "white" } element "CSV" { shape "box" width "400" height "790" background "white" opacity "100" } element "CSV" { border "dashed" strokeWidth "0" stroke "black" } element "CSV" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "CSV" { fontSize "20" color "black" } element "Info Balance" { shape "box" width "370" height "150" background "white" opacity "100" } element "Info Balance" { border "solid" strokeWidth "0" stroke "black" } element "Info Balance" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Info Balance" { fontSize "20" color "black" } element "Token Button Transaction" { shape "box" width "370" height "115" background "white" opacity "100" } element "Token Button Transaction" { border "dashed" strokeWidth "0" stroke "black" } element "Token Button Transaction" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Token Button Transaction" { fontSize "16" color "black" } element "Architectures softwaresystem" { shape "RoundedBox" width "450" height "300" background "white" # opacity "100" } element "Architectures softwaresystem" { border "solid" strokeWidth "5" stroke "black" } element "Architectures softwaresystem" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Architectures softwaresystem" { fontSize "26" color "black" } element "Button" { shape "roundedbox" width "260" height "120" background "black" opacity "100" } element "Button" { border "solid" strokeWidth "0" # stroke "blue" } element "Button" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Button" { fontSize "16" color "white" } element "Button interactive" { shape "roundedbox" width "260" height "120" background "white" opacity "100" } element "Button interactive" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button interactive" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Button interactive" { fontSize "16" color "black" colour "black" } element "Button navigation" { shape "roundedbox" width "260" height "120" background "white" opacity "100" } element "Button navigation" { border "solid" strokeWidth "1" stroke "#e6e6e6" } element "Button navigation" { description true metadata true # icon } #!include \ # "./properties/index.dsl" element "Button navigation" { fontSize "16" color "#404040" colour "#404040" } element "Button state" { shape "roundedbox" width "260" height "120" background "white" opacity "100" } element "Button state" { border "dashed" strokeWidth "0" stroke "black" } element "Button state" { description true metadata true # icon } element "Button state" { fontSize "16" color "black" } element "Button clock" { shape "roundedbox" width "100" height "100" background "white" opacity "100" } element "Button clock" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button clock" { description true metadata false icon "../../../../../../../metadata/icon/button-clock/index.svg" } #!include \ # "./properties/index.dsl" element "Button clock" { fontSize "7" color "black" colour "black" } element "Button date" { shape "roundedbox" width "100" height "100" background "white" opacity "100" } element "Button date" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button date" { description true metadata false icon "../../../../../../../metadata/icon/button-date/index.svg" } #!include \ # "./properties/index.dsl" element "Button date" { fontSize "7" color "black" colour "black" } element "Button switcher" { shape "roundedbox" width "260" height "120" background "white" opacity "100" } element "Button switcher" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button switcher" { description true metadata false icon "../../../../../../../metadata/icon/button-switcher/index.svg" } #!include \ # "./properties/index.dsl" element "Button switcher" { fontSize "10" color "black" colour "black" } element "Button check" { shape "roundedbox" width "100" height "100" background "white" opacity "100" } element "Button check" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button check" { description true metadata false icon "../../../../../../../metadata/icon/button-check/index.svg" } #!include \ # "./properties/index.dsl" element "Button check" { fontSize "7" color "black" colour "black" } element "Button plus" { shape "roundedbox" width "100" height "100" background "white" opacity "100" } element "Button plus" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button plus" { description true metadata false icon "../../../../../../../metadata/icon/button-plus/index.svg" } #!include \ # "./properties/index.dsl" element "Button plus" { fontSize "7" color "black" colour "black" } element "Button drop list" { shape "roundedbox" width "100" height "100" background "white" opacity "100" } element "Button drop list" { border "solid" strokeWidth "5" stroke " #e6e6e6" } element "Button drop list" { description true metadata false icon "../../../../../../../metadata/icon/button-drop-list/index.svg" } #!include \ # "./properties/index.dsl" element "Button drop list" { fontSize "7" color "black" colour "black" } } # themes default properties { "structurizr.metadata" "false" } } }