Update Technical future

Andreas Svanberg 2025-02-17 11:22:17 +01:00
parent ba364dae27
commit bacb7c09f4

@ -5,43 +5,42 @@
| Suggestion | Andreas | Nico | Tom |
| --- | --- | --- | --- |
| Replace Wicket with Spring Web + Thymeleaf + Htmx | Cell | Cell | Cell |
| DataInitializer needs to be refactored | Cell | Cell | Cell |
| Better modularization is needed in Scipro, it has too much stuff in core module | Cell | Cell | Cell |
| Use whitelist to manage dependencies, and only include dependencies we use | Cell | Cell | Cell |
| User interface needs a better organization, it's not obvious to see "intention and action" | Cell | Cell | Cell |
| Must repository layer be implemented with JPA. Why not consider a more SQL-native approach like jOOQ | Cell | Cell | Cell |
| Go all-in on Spring | Cell | Cell | Cell |
| Merge Maven modules | Cell | Cell | Cell |
| Populate wiki | Cell | Cell | Cell |
| Remove manual processes | Cell | Cell | Cell |
| Add a Maven mirror/repository | Cell | Cell | Cell |
| Remove all database operations (JPA) from services and delegate to repositories | Cell | Cell | Cell |
| Never return @Entity classes from services | Cell | Cell | Cell |
| Never return @Entity classes from repositories | Cell | Cell | Cell |
| No Jakarta Persistence API usage in core Maven module | Cell | Cell | Cell |
| Stop with the "1 table-1 entity-1 repository-1 service" thing | Cell | Cell | Cell |
| Remove manual transaction handling inside workers (AbstractWorker base class) | Cell | Cell | Cell |
| Make all notifications event-based rather than direct calls from other service methods | Cell | Cell | Cell |
| Make event handling asynchronous (such that a failure or slowdown in an event consumer does not interfere with the event producer) | Cell | Cell | Cell |
| Introduce automated Checkstyle analysis with no allowed violations | Cell | Cell | Cell |
| Replace Jersey (JAX-RS client) with Spring's RestClient | Cell | Cell | Cell |
| Use Spring Boot Maven plugin / main method to start SciPro | Cell | Cell | Cell |
| Use a local database running in Docker | Cell | Cell | Cell |
| Create a mock Docker container for Daisy API | Cell | Cell | Cell |
| Try to minimize / move to edges the Daisy integration to make as much functionality as possible useable without it | Cell | Cell | Cell |
| Make it easier to schedule new jobs | Cell | Cell | Cell |
| Replace Wicket with Spring Web (REST API) + React (TypeScript) | Cell | Cell | Cell |
| Automatic deployment to production after pull request is merged | Cell | Cell | Cell |
| Do not accept null as a method parameter | Cell | Cell | Cell |
| Do not return null | Cell | Cell | Cell |
| Remove stack traces from Maven test output | Cell | Cell | Cell |
| Fix all warnings during Maven build | Cell | Cell | Cell |
| Do not use repositories directly in Wicket components | Cell | Cell | Cell |
| Improve the creation of test data | Cell | Cell | Cell |
| Create some "How to work in Gitea" guide | Cell | Cell | Cell |
| "Make the change easy then make the easy change" | Cell | Cell | Cell |
| Replace java.util.Date with java.time | Cell | Cell | Cell |
| Stop using DomainObjects dateCreated and lastModified for business logic | Cell | Cell | Cell |
| Replace Wicket with Spring Web + Thymeleaf + Htmx | 😃 | 😃 | 😃 |
| DataInitializer needs to be refactored | 💚 | 💚 | 💚 |
| Better modularization is needed in Scipro, it has too much stuff in core module | 💚 | 〰️ | 💚 |
| Use whitelist to manage dependencies, and only include dependencies we use | 🔴 | 🔴 | 😃 |
| User interface needs a better organization, it's not obvious to see "intention and action" | 😃 | 😃 | 😃 |
| Must repository layer be implemented with JPA. Why not consider a more SQL-native approach like jOOQ | 💚 | 😃 | 💚 |
| Go all-in on Spring | 〰️ | 😃 | 〰️ |
| Merge Maven modules | 🔴 | 〰️ | 🔴 |
| Populate wiki | 💚 | 💚 | 💚 |
| Remove manual processes | 💚 | 💚 | 😃 |
| Add a Maven mirror/repository | 😃 | 😃 | 😃 |
| Remove all database operations (JPA) from services and delegate to repositories | 💚 | 💚 | 💚 |
| Never return @Entity classes from services | 💚 | 💚 | 💚 |
| Never return @Entity classes from repositories | 💚 | 💚 | 😃 |
| No Jakarta Persistence API usage in core Maven module | 💚 | 💚 | 💚 |
| Stop with the "1 table-1 entity-1 repository-1 service" thing | 💚 | 💚 | 💚 |
| 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) | 🔴 | 〰️ | 🔴 |
| Introduce automated Checkstyle analysis with no allowed violations | 💚 | 💚 | 〰️ |
| Replace Jersey (JAX-RS client) with Spring's RestClient | 💚 | 💚 | 💚 |
| Use Spring Boot Maven plugin / main method to start SciPro | 😃 | 😃 | 😃 |
| Use a local database running in Docker | 😃 | 😃 | 🔴 |
| Create a mock Docker container for Daisy API | 😃 | 😃 | 😃 |
| Try to minimize / move to edges the Daisy integration to make as much functionality as possible useable without it | 💚 | 😃 | 💚 |
| Make it easier to schedule new jobs | 😃 | 😃 | 〰️ |
| Replace Wicket with Spring Web (REST API) + React (TypeScript) | 😃 | 🔴 | 🔴 |
| Automatic deployment to production after pull request is merged | 😃 | 〰️ | 🔴 |
| Do not accept null as a method parameter | 😃| 😃 | 😃 |
| Do not return null | 😃 | 😃 | 😃 |
| Remove stack traces from Maven test output | 💚 | 💚 | 💚 |
| Fix all warnings during Maven build | 💚 | 💚 | 💚 |
| Do not use repositories directly in Wicket components | 💚 | 😃 | 💚 |
| Improve the creation of test data | 💚 | 💚 | 💚 |
| Create some "How to work in Gitea" guide | 💚 | 💚 | 💚 |
| "Make the change easy then make the easy change" | 💚 | 😃 | 😃 |
| Replace java.util.Date with java.time | 💚 | 💚 | 💚 |
| Stop using DomainObjects dateCreated and lastModified for business logic | 💚 | 💚 | 💚 |
| Add UI tests (like Selenium/Upright) | 😃 | 😃 | 😃 |