Skip to content

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/pipes

Apps 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

Other Documentations

Made with ❤️ by Bagubagu Studio