Skip to content

Latest commit

 

History

History
33 lines (25 loc) · 1.37 KB

README.md

File metadata and controls

33 lines (25 loc) · 1.37 KB

DesignSphere Wiki

Table of contents

  1. Design & Architecture
    1. TL;DR
    2. Frontend
    3. Backend
    4. Code Generator

Design & Architecture

TL;DR

  • DesignSphere UI is built on Angular and uses Angular drag-and-drop CDK for the drag functionality for the UI canvas.
  • Backend uses Pulumi for deploying resources and is written in Golang. For data persistence, we use Pebble KV database.
  • Programmatic structures required for configuring and deploying the cloud resource are separately auto-generated from the Pulumi resource schemas
    • Example resource schema - pulumi-aws resource schema
    • The code generator generates code for UI typescript and backend go constructs.
    • Generated code is used in rendering resource config properties in the UI and parsing the resource configs received at the backend APIs on config changes and deployment from the UI.

Frontend

  • Angular UI
  • CDK drag

Backend

  • Golang gin-gonic web server
  • Pebble data store

Code Generator