Under Construction

This website is currently under construction and constant update. The information presented here is for the moment unreliable and for testing purposes only.

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 Microservices – not (just) about Events! • Allard Buijze • GOTO 2018 https://www.youtube.com/watch?v=DzGuDNHsOQ0 1.1.4. Pragmatic Event-Driven Microservices • Allard Buijze • GOTO … Read more

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 it receives the invalidate data event. The main screen can contain a console like window that will display the status of the … Read more

Categories Ui

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 or another provider (socket.io, express, RabbitMQ) for backend-frontend synchronization. It should be possible to request to include or hide specific fields from … Read more

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 which the documents are for. The service should be able to archive the documents when downloading them.

Document service and document templates

There are two document templating and rendering engines: an Angular application that runs separately from the main ERP UI application, that is called by the main frontend application in order to get nice rendered documents based on Angular templates and data objects; a server-side document renderer based on the Liquid specification. The server uses the … Read more

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 these is to create two topics: orders-v1 and orders-v2, for messages with the old and new schemas respectively. Assuming Orders are mastered … Read more

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 called directly when the service can directly access the database or via API in case a service is disconnected from the database. … Read more

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 in order to invalidate the modified data and refresh it. For entities that are extensions for other models, the event should be … Read more

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 be easily modifiable in case of communication failure in order to release entities locked by failed operations. If a user loses connection … Read more