Skip to content
This repository has been archived by the owner on Jan 29, 2022. It is now read-only.

Latest commit

 

History

History
101 lines (65 loc) · 4.44 KB

README.md

File metadata and controls

101 lines (65 loc) · 4.44 KB

WebPrototypingTool Application Frontend

App Debug Tooling

  • Advanced settings panel
  • Feature flags
  • Debug Graph
  • Debug Message communication

App Assets

  • The image asset directory is served from /src/assets/
  • SVG is the recommended format for all icons and assets.
  • png|svg|gif have a 1hr cache defined in the /app.yaml
  • Use svgo to optimize SVGs before adding them to the repo
  • A Sketch file /assets.setch is included in the root of the repo which is the source of all icons in the product

Firebase

For firebase offline support we need to enable persistence but currently synchronously writes to a local database which slows down app performance. We're waiting for this issue to be resolved firebase/firebase-js-sdk#983

App Styles

App Routes

Dashboard

/src/app/routes/dashboard

Project

This is the editor experience

/src/app/routes/project

Preview

/src/app/routes/project/preview

Admin

/src/app/routes/project/news-editor

App Systems

App Store

App Keyboard Shortcuts

All keyboard shortcuts are defined in the configuration located here: src/app/routes/project/configs/project.config.ts. Each config is an IConfig which maps to actions defined in the project store and is also used to populate context menus.

App Design Surface

The design surface is made up of 3 UI Layers and a few communication services

  • Canvas - AKA the viewport for boards which also manages panning and zooming
  • Glass Layer - SVG layer above the canvas for drawing design surface details like hover, selection, etc.
  • Outlet Frames - The wrapper for each board iframe

App Services

App Properties

Properites are generated dynamically based on configurations defined in cd-common/models. See configuration docs

App Image Upload

App Layers tree