project
- locales
- assets : Asset[]
- text (one of text)
- illusts (one of type)
- image (one of type)
- icon (one of type)
- // font (one of type)
- scene (s) → (component / screen)
text.changeCurrentLocaleValue(newValue: string)
// 1. g11n → changeValue(key, locale, newValue)
// 2. asset → changeValue(newValue)
SceneStore Service
TABLES
SCENE
- cached preview : Asset
- file id
- name
- path
- route?: string (only for screen)
- build (s)
- flutter : FlutterBuild
- react
- vue
- ...
- layer (s) → for canvas (not as separated service)
- components
// meta & instance?
// JSON OBJECT
→ EXCEPTIONS → Group & Component & Instance & Variant
LAYER
- data(): Asset<T> // non-database field
- scene id (no file id required)
- id: string
- key: string
- node: object
- text : TextManifest
- data: Asset<Text>
- graphic : GraphicManifest
- src: Asset<Image>
- component: ComponentManifest
SCENE TYPE
enum SceneType{
SCREEN
COMPONENT
DOCUMENT
}
Hosting Service
Account Service
Accounts service
Auth Service
Auth Service
Asset Service
G11n Service
- file id: string
- id: string
- locale: string
- key: string
- type: text/image
- asset id (FK)
- value → uri
Variable Service
- file id: string
- // namespace (scope)
- id
- variant: string (locale equivalent)
- name
- value → as json on db level
- type: string / number / boolean / object (POJO)
Build Service
build-services packages architecture
Node Service
Flutter Service
Url Service
service: url
Resource Service
Payment Service
service: Payment (Stripe based)
MSA - how to
How to MSA like a boss