• Learning

    Learning

    1.1. Architecture https://docs.microsoft.com/en-us/azure/architecture/patterns/ https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/microservices https://docs.microsoft.com/en-us/azure/architecture/best-practices/index-best-practices https://ksqldb.io/ 1.1.1. Four Distributed Systems Architectural Patterns by Tim Berglund https://www.youtube.com/watch?v=BO761Fj6HH8 1.1.2. Confusion in the Land of the Serverless • Sam Newman • GOTO 2018 https://www.youtube.com/watch?v=Y6B3Eqlj9Fw 1.1.3. Event-Driven…

  • Ui

    UI

    The UI should be able to autogenerate menus, forms, tables and so on according to the current user’s credentials (role). It will have to cache data marked as cacheable and update it when…

  • API,  Events

    Api

    1.1. Implementation The API should provide CRUD operations along with ERP specific implementations. The API should be implemented in such a way to express screen models configured on the backend. Use Feathers JS…

  • API,  Storage

    Storage service

    1.1. Storage service This service stores files on FTP, local, etc. This service stores stored files information in a DB table (documents table). The folders should be named as the entity types for…

  • API,  Data modelling,  Events

    Microservices

    1.1. Event sourcing https://www.confluent.io/blog/apache-kafka-for-service-architectures/ Events should have: a unique ID, message version, schema version, the name of the service that raised the event, data. The most common approach for handling breaking changes like…

  • Data modelling

    Business logic

    The business logic is implemented in an ERP module. The business logic will be stored in similarly named and structured folders as the entities or modules that it serves. Business logic can be…

  • API,  Data modelling,  Events

    Events

    Microservice Events All database access will raise events, especially the writes. This has to be implemented (or override) in the base implementation of the ORM. The cache system will listen for these events…

  • Data modelling

    Entity lock

    When a user is editing an entity, an entry is added to a lock table and other users can’t edit that entity until the first users releases it. The lock table has to…

  • API,  Data modelling

    Logs

    1.1.1. Log table All transactions should generate events, and the events stored in an event store. The transactions (API calls, ORM calls etc.) can be stored in a NOSQL database and analyzed in…