Table of Contents |
---|
Key Points
...
Table of Contents |
---|
Key Points
- Variety of design tools for different needs
- Programmable Web concepts - integrate 3rd party open APIs
References
...
Reference_description_with_linked_URLs_______________________ | Notes______________________________________________________________ |
---|---|
drawing & diagram tools | |
gd-drawings-folder | gd drawings folder ** |
https://app.diagrams.net/#G1rbB6ZcNg8-8lLpT3vIH4Ir-t0DpPdYyM | draw.io free account |
Libre Office drawings | |
Lucidchart subscriptions | |
https://sequencediagram.org/ | free online quick simple sequence diagram generator using simple text inputs ** not EXACTLY mermaid compatible - well documented but not text generation capability |
https://www.guru99.com/best-uml-tools.html | Guru99 list of diagram & modeling tools |
https://medevel.com/open-source-uml-tools/ | EOS diagram & modeling tools list |
Mermaid Live online mmd file editor for many diagram types | Mermaid Live online mmd file editor for many diagram types ** |
https://mermaid-js.github.io/mermaid/#/sequenceDiagram | Mermaid home on github |
https://plantuml.com/ | Plantuml - text-based UML diagramming tool ** |
https://www.figma.com/files | Figma has free account for a FEW and 3 files only > templates, downloads for different diagrams, slides etc |
Wireframe design | |
https://cliquestudios.com/free-wireframing-tools/ | Wireframes - Best free wireframe tools in 2019 |
https://careerfoundry.com/en/blog/ux-design/free-wireframing-tools/ | Wireframes - The 9 Best Free Wireframe Tools for UX Designers for 2021 |
https://mockitt.wondershare.com/wireframe/wireframe-tools-open-source.html | try Wondershare or ? |
db design tools | should forward, reverse engineer from model to db scripts should have ERD, schemas for SQL, NoSQL |
https://www.guru99.com/data-modeling-tools-design-database.html | very good list ** |
https://dbeaver.io/ | DBeaver - Community Edition |
https://www.gleek.io/blog/data-modeling-tools.html | free trials |
https://www.visual-paradigm.com/shop/vp.jsp?license=perpetual | visual paradigm toolset - different versions - all priced |
https://app.diagrams.net/ | draw.io diagram tool can use gdrive ** |
https://wisdomplexus.com/blogs/open-source-data-modeling-tools/ | Good list of open source design tools ** |
https://www.dbdesigner.net/plans/ | low monthly cost |
https://www.oracle.com/in/database/technologies/appdev/datamodeler.html | Oracle SQL Developer for data modeling |
CRUD generation tools | should define model objects / metadata w logical views over entities should generate full db, ORMs, MVC, frontends |
Grails ** | |
JHipster * | |
https://docs.feathersjs.com/guides/basics/starting.html#our-first-app | Feathers ** |
https://www.findbestopensource.com/tagged/crud-generator | EOS CRUD generator list |
https://github.com/jaxio/celerio-angular-quickstart | Java Angular CRUD generator from DB schema |
https://awesomeopensource.com/projects/crud-generator | |
Containers | |
Docker | |
VirtualBox | |
Minikube is an open-source utility that makes it possible to run Kubernetes on a Windows, Mac or Linux laptop or desktop PC. uses Container or virtual machine manager, such as: Docker, Hyperkit, HyperV, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation | |
Data Services Tools | |
Spark | |
https://kyligence.io/resources/apache-kylin-quick-start-guide/ https://cwiki.apache.org/confluence/display/KYLIN/User+Manual+4.X | Apache Kylin is an open source, distributed Analytical Data Warehouse for Big Data; multi-dimensional cube and precalculation technology on Hadoop and Spark integrate with your favorite BI tools like Tableau and PowerBI |
https://aws.amazon.com/partners/saas-boost/ | AWS SaaS Boost is an EOS tool used by ISVs to migrate their existing software to a Software-as-a-Service delivery model. |
Delta lake is an open-source project that enables building a Lakehouse Architecture | |
https://grafana.com/ | Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored limited runtime for EOS license |
Nrwl Nx is an EOS toolkit and framework for building, testing and scaling enterprise-grade Angular applications | |
BI design tools | should support visualization, creation of shared data sets, transformations, parms generate data frame or workbook for user to run analytics, what ifs |
BIRT | |
https://www.predictiveanalyticstoday.com/open-source-free-business- intelligence-solutions/ | |
https://logz.io/blog/business-intelligence-tools/ | |
https://www.ubuntupit.com/best-open-source-bi-tools-and-software/ | |
ML Tools | |
Tensorflow end-to-end open source machine learning platform The core open source library to help you develop and train ML models. Get started quickly by running Colab notebooks directly in your browser. | |
API design tools | should define entity physical, logical models, messages ( request, response ) |
https://openapi.tools/ | very good open tools list ** |
https://github.com/Rhosys/openapi-explorer/blob/main/README.md | OpenAPI explorer reads messages, generators API doc ** |
https://github.com/OpenAPITools/openapi-generator | OpenAPI Generator * |
https://gum.co/openapi_generator_ebook | Beginners Guide to Code generation for openapi |
https://redocly.github.io/redoc/#section/Authentication | Petstore app generated as an openapi specs w React Html - supports features |
https://techbeacon.com/app-dev-testing/8-open-source-tools-will-lift-your-api-game | good list of some of the same tools in the openapi/tools list |
UI Toolsets | |
Nrwl Nx is an EOS toolkit and framework for building, testing and scaling enterprise-grade Angular applications | |
ETL tools | define producers, consumers, transformers |
Process Design Tools | define jepls with producers, consumers, objects, methods, data, events, handlers |
https://www.archimatetool.com/ | TOGAF Archimate toolset ** |
Message Design Tools | |
CMS tools | |
xwiki | |
jspwiki | |
liferay | |
drupal | |
wordpress | |
confluence | |
ERP open source | |
https://opensource.com/tools/enterprise-resource-planning | |
https://dynamics.folio3.com/blog/open-source-enterprise-resource-planning- software/#Odoo | |
Programmable Web concepts - integrate 3rd party open APIs | |
https://www.programmableweb.com/category/all/apis | |
icons | |
https://www.flaticon.com/free-icons/library | free icon library ** subscribed |
Art tools | |
https://makeameme.org/ | create and use great memes |
m Grails | Grails 4x - simple application modeling |
...
MILTON FROM OFFICE SPACE - skeptic
And I said, I don't care if they lay me off either, because I told, I told Bill that if they move my desk one more time, then, then I'm, I'm quitting, I'm going to quit.
if they take my stapler.. I'll set the building on fire - enough is enough
SCHRUTE FACTS (DWIGHT SCHRUTE FROM THE OFFICE)
https://parade.com/1196529/alexandra-hurtado/dwight-schrute-quotes/
“There’s too many people on this earth. We need a new plague.”
“I signed up for Second Life about a year ago. Back then, my life was so great that I literally wanted a second one. Absolutely everything was the same. Except I could fly.”
“You know, I really would’ve appreciated a heads up that you were into dating mothers. I would’ve introduced you to mine.”
“Blink once if you want me to pull the plug.”
“I am better than you have ever been or ever will be.”
“I wonder if king-sized sheets are called presidential-sized in England.”
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
title DvP Token Swap: Hash Time Lock Contract Model actor "Seller\nBank" as Seller #DCE4B3 database "Seller\nLedger" as SLedger #fcdcd4 database "Buyer\nLedger" as BLedger #E6E0B7 actor "Buyer\nBank" as Buyer #B7E6E2 bottomparticipants actor Seller database SLedger database BLedger actor Buyer note over SLedger,BLedger #lightblue:Seller sells 10 IBM share tokens\n to Buyer for 100 USD tokens note over SLedger,BLedger #lightgreen:If settlement time exceeds time limit\n assets are retained by original parties Seller->Seller:Seller creates secret\nand it's hash aboxright over Seller, Buyer #DCE4B3:Seller creates shares order for buyer\nif buyer uses secret Buyer<-Buyer:Buyer verifies seller\n shares order aboxleft over Buyer, Seller #B7E6E2:Buyer creates a payment order to seller\n if the seller provides the same secret Seller->Seller:Seller accesses payment\n order using the secret aboxright over Seller, Buyer #DCE4B3:Seller signs a new payment\n receipt to access the funds Buyer->Buyer:Buyer accesses payment \nreceipt secret aboxleft over Buyer, Seller #B7E6E2:Buyer signs a new shares receipt\n to access the shares |
Mermaid diagrams
...
https://mermaid.js.org/config/setup/interfaces/mermaid.Mermaid.html#init
Sample mermaid-qatar-conceptual-layers1.png. diagram - flowchart
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
flowchart TD
%% Style definitions
classDef actorLayer fill:#f0f4ff,stroke:#000,stroke-width:3px
classDef deviceLayer fill:#f0fff4,stroke:#000,stroke-width:3px
classDef dataLayer fill:#fff0f4,stroke:#000,stroke-width:3px
classDef trustLayer fill:#fffaf0,stroke:#000,stroke-width:3px
classDef solutionsLayer fill:#f5f0ff,stroke:#000,stroke-width:3px
classDef box fill:#ffffff,stroke:#000,stroke-width:2px
classDef sectionTitle fontSize:24px,fontWeight:bold
classDef normalText fontSize:20px
linkStyle default stroke:#000,stroke-width:3px
%% Actors Layer
subgraph AL["<div style='font-size:24px;font-weight:bold'>Actors Layer</div>"]
direction LR
subgraph Personas["<div style='font-size:24px;font-weight:bold'>Personas</div>"]
CI["<div style='font-size:20px'>👤 Citizens</div>"]:::box
GO["<div style='font-size:20px'>🏛️ Government</div>"]:::box
ST["<div style='font-size:20px'>👨💼 Staff</div>"]:::box
SM["<div style='font-size:20px'>🏢 Business SMEs</div>"]:::box
CO["<div style='font-size:20px'>👷 Contractors</div>"]:::box
SU["<div style='font-size:20px'>🏭 Suppliers</div>"]:::box
end
end
%% Device Layer
subgraph DL["<div style='font-size:24px;font-weight:bold'>Device Layer</div>"]
direction LR
subgraph Devices["<div style='font-size:24px;font-weight:bold'>Devices</div>"]
MD["<div style='font-size:20px'>📱 Mobile Devices</div>"]:::box
LP["<div style='font-size:20px'>💻 Laptops</div>"]:::box
subgraph DW["<div style='font-size:24px;font-weight:bold'>Digital Wallets</div>"]
direction TB
DI["<div style='font-size:20px'>🆔 Digital ID</div>"]:::box
CR["<div style='font-size:20px'>📜 Credentials</div>"]:::box
LI["<div style='font-size:20px'>📋 Licenses</div>"]:::box
end
end
end
%% Qatar Data Center Layer
subgraph DC["<div style='font-size:24px;font-weight:bold; white-space: nowrap'>Qatar Data Center Layer</div>"]
direction LR
EN["<div style='font-size:20px'>🔵 Edge Nodes</div>"]:::box ---
CN["<div style='font-size:20px'>☁️ Cloud Nodes</div>"]:::box ---
KC["<div style='font-size:20px'>⚙️ Kubernetes Cluster</div>"]:::box ---
AG["<div style='font-size:20px'>🔗 API Gateway Manager</div>"]:::box ---
RS["<div style='font-size:20px'>🔄 Routing Services</div>"]:::box
end
%% Trust Layer
subgraph TL["<div style='font-size:24px;font-weight:bold'; white-space: nowrap>Trust Layer</div>"]
subgraph TG["<div style='font-size:24px;font-weight:bold'>TrustGrid</div>"]
direction TB
IA["<div style='font-size:20px'>🔐 Identity Authentication</div>"]:::box
DS["<div style='font-size:20px'>💾 Account Data Store</div>"]:::box
IL["<div style='font-size:20px'>📒 Identity Ledger</div>"]:::box
end
SM2["<div style='font-size:20px'>🛡️ Security Management</div>"]:::box
end
%% Solutions Layer
subgraph SL["<div style='font-size:24px;font-weight:bold; white-space: nowrap'>Qatar Secure Solutions Layer</div>"]
direction TB
subgraph ZO["<div style='font-size:24px;font-weight:bold'>Zoho</div>"]
subgraph L1["<div style='font-size:20px'>apps</div>"]
direction LR
LC["<div style='font-size:20px'>📄 Licensing</div>"]:::box
TX["<div style='font-size:20px'>💰 Taxation</div>"]:::box
CP["<div style='font-size:20px'>✅ Compliance</div>"]:::box
SC["<div style='font-size:20px'>🔄 Supply Chain</div>"]:::box
end
subgraph L2["<div style='font-size:20px'>apps</div>"]
direction LR
FN["<div style='font-size:20px'>💹 Financials</div>"]:::box
HR["<div style='font-size:20px'>👥 HRM</div>"]:::box
CR2["<div style='font-size:20px'>🤝 CRM</div>"]:::box
PM["<div style='font-size:20px'>📊 Project & Risk Mgt</div>"]:::box
end
direction TB
subgraph L3["<div style='font-size:20px'>apps</div>"]
EC["<div style='font-size:20px'>🛒 eCommerce Links</div>"]:::box
CB["<div style='font-size:20px'>👥 Collaboration</div>"]:::box
AN["<div style='font-size:20px'>📈 Analytics</div>"]:::box
end
end
OA["<div style='font-size:20px'>Other Qatar Applications</div>"]:::box
end
%% Layer connections
AL --> DL
DL --> DC
DC --> TL
TL --> SL
%% Apply styles
class AL actorLayer
class DL deviceLayer
class DC dataLayer
class TL trustLayer
class SL solutionsLayer
|
mermaid-seq-diag-defi2
Code Block | ||||
---|---|---|---|---|
| ||||
%%{init: {'theme': 'base', 'themeVariables':
{'actorBackground':'#90d5ff',
'actorBorder': '#000000',
'actorFontWeight':'bold',
'sequenceMessageFontSize': '14px',
'messageFontWeight': 'bold'}}}%%
sequenceDiagram
participant User as User
participant Wallet as Wallet<br>App
participant DNetwork as Decentralized<br>Network
participant SmartContract as Smart<br>Contract
participant Bank as Bank
User->>Wallet: Enter recipient<br>DID or scan QR code
Wallet->>DNetwork: Send transaction<br>details
DNetwork-->>Wallet: Validate<br>transaction
DNetwork->>SmartContract: Execute conditions<br>(if applicable)
SmartContract-->>DNetwork: Return result<br>of execution
DNetwork->>Bank: Communicate via<br>secure APIs
Bank->>DNetwork: Update records<br>and confirm
DNetwork->>Wallet: Update ledger<br>and confirm transaction
Wallet->>User: Notify sender<br>of success
Wallet->>Recipient: Notify recipient<br>of success
DNetwork->>AuditTrail: Log transaction<br>for compliance
|
Mermaid Flowchart Doc
Plantuml Diagrams
...