KMP
Scaffolding
bash
# generate new angular app
nx g @nx/angular:app myapp
# generate new angular library
nx g @nx/angular:lib myapp-lib
# generate new component
nx g @nx/angular:component mycomponent --directory packages/myapp-lib/src/components
# generate new directive
ng g @nx/angular:directive mydirective --directory packages/myapp-lib/src/directives
# generate new pipe
ng g @nx/angular:pipe mypipe --directory packages/myapp-lib/src/pipesApps and Libs
- Apps
- api: mustinya ndak dipakai, bisa dihapus tapi masih ragu2
- kms: kms application versi 1
- kmsv2: kms yang sekarang
- tms
- Libs
- corporate-cdk: cdk untuk buat appsync beserta graphql transformer, dan nantinya juga auth
- kms-amplify: amplify buat kms app versi 1
- kms-web-cdk: buat cloudfront and s3 kms v1
- kmsv2-amplify: amplify yang kepakai sekarang
- kmsv2-api: sst buat rest api kms v2
- kmsv2-web-cdk: hosting buat kmsv2
- schema: dipakai shared oleh beberapa apps and libs, isinya mostly zod
- shared-ngx: shared ui component yang baru
- shared-ui: shared ui component yang lama
- tms-api: sst utk rest api
- tms-web-cdk: hosting untuk tms
- Misc. packages:
- cdk-tools: executorsnya dipakai buat deploy angular apps, dan beberapa tools lainnya
- dummy-data: buat ngisi data ke graphql
- Tools and Plugins
- plugins/b7nx: plugin buat kebutuhan kita
Resources
- User --> yang boleh edit adalah user, hr
- Organization --> yang boleh edit admin
- OU (Organization Unit/Unit Kerja) (do we want this as graph or tree?)
- Employee --> hr, admin
- Event --> core member dari coi/cop nya
- OKR -->
- OKR employee
- OKR organization
- KMS
- CoI
- CoP
- SME
- SocialMedia
System defined roles
- super admin: orang2 synergo
- organization owner: diassign ke direktur/pemegang kekuasaan tertinggi
- organization admin: bisa multiple admins
Admin can create user defined roles (dengan custom permission sets)
- HR (pre-defined)
- Marketing
- Sales
Permissions
- Bisa diset per resource (divalidasi lewat dynamodb row di auth resolver)
- Bisa diset sesuai business logic (divalidasi di resolver)
Staging URLs
- KMS kms.ricarodo.com
- KMSv2 kms-v2.ricarodo.com