Update Technical future / Andreas

Andreas Svanberg 2025-02-07 10:33:27 +01:00
parent 2989514845
commit 87deaa9bf8

@ -1,12 +1,13 @@
* Replace Wicket with Spring Web (REST API) + React (TypeScript)
* Must have a transition period where both work together simultaneously with smooth transition
* Remove all database operations (JPA) from services and delegate to repositories
* Inject a reference to a `JpaRepository` instead of a `EntityManagerFactory` in `AbstractServiceImpl`
* Remove usage of QueryDSL in services
* Remove interface `QueryDslPredicateExecutor` (it should be an implementation detail within the repository)
* Never return `@Entity` classes from services
* Never return `@Entity` classes from repositories.
* Stop using "Open EntityManager In View" pattern and use `EntityManagerFactory` rather than a "shared" `EntityManager`
* No Jakarta Persistence API usage in services
* No Jakarta Persistence API usage in `core` Maven module.
* Keep repository interfaces in `core`
* Move repository implementations to their own module and isolate Jakarta Persistence API to their implementations.
Keep repository interfaces in `core`
* Remove manual transaction handling inside workers (`AbstractWorker` base class)
* Make all notifications event-based rather than direct calls from other service methods
* Make event handling asynchronous (such that a failure or slowdown in an event consumer does not interfere with the event producer)
@ -28,4 +29,6 @@
* Try to minimize / move to edges the Daisy integration to make as much functionality as possible useable without it
* `DaisyAPI` service should not reside in the `core` module
* Make it easier to schedule new jobs
* Right now you need a bean for the scheduling, a bean for the worker, and finally a bean for the actual job (unless you do it in the worker)
* Right now you need a bean for the scheduling, a bean for the worker, and finally a bean for the actual job (unless you do it in the worker)
* Replace Wicket with Spring Web (REST API) + React (TypeScript)
* Must have a transition period where both work together simultaneously with smooth transition