Skip to content

[RIP-76] Migration the Dashboard to Spring Boot 3 and Java 17 #9311

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 task done
HattoriHenzo opened this issue Apr 5, 2025 · 3 comments
Open
1 task done

[RIP-76] Migration the Dashboard to Spring Boot 3 and Java 17 #9311

HattoriHenzo opened this issue Apr 5, 2025 · 3 comments

Comments

@HattoriHenzo
Copy link

HattoriHenzo commented Apr 5, 2025

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

This is a proposition to improve the source code and the state of the RocketMQ-Dashboard project, the Web UI client of RocketMQ broker. As for every Broker, power full client is a big part of it success, then actively working on this feature will help improve significantly the whole project or at least have an updated version of the Dashboard available.
The goal here is to move from:

  • Spring Boot 2.6.0 to Spring Boot 3
  • Java 1.8 to Java 17

Motivation

Spring and Java has evolve during last years and this is a good opportunity to let this project benefit. Beside of that there are many other aspect to improve as:

  • the correction and the update to mitigate vulnerabilities
  • Java has new more features and we can benefit from it
  • Java is being fast now and the project can benefit from it
  • we can improve the test coverage
  • we can improve some parts of the code by doing some refactoring

Describe the Solution You'd Like

Here is a proposition of the roadmap to follow. Every step will result in the creation of an issue in the Issue Board:

STEPS Description Status Issue
1 Complete the missing Units tests and Integration tests In order to follow the best practice on legacy code modifications #264 #266
2 Migration to Java 11 and Refactoring To manage gradually the changes to Java 17
3 Migration to Spring Boot 2.7 Following the Spring development team guidelines
4 Migration to Spring Boot 3 and Java 17 and Refactoring
5 Integration with Spring Cloud Adding Spring Cloud Dependency, to make the application Cloud Native
6 CVE (vulnerabilities) correction with the integration of OWASP Essential to enhance the application security
7 Eliminated performance bottlenecks during producer/consumer initialization For performance issue
8 Frontend workflow optimization To make the application easy to use
9 Backend resource efficiency improvements For performance issue
10 User-centric responsive design A big improvement of the Front-End and to make it attractive
11 Security enhancements To add more security capabilities

Describe Alternatives You've Considered

For the moment there is no alternative.

Additional Context

All tasks will have the associated issue created in RocketMQ-Dashboard issue board and will be updated as soon as there is a progress

@Crazylychee
Copy link

@HattoriHenzo I'm excited to see this roadmap. The upcoming major upgrades to the dashboard align perfectly with the proposal I've been preparing, for which I've already done thorough groundwork. Here's the link to my proposal. I believe it would be valuable to discuss the implementation details and key differences in our approaches. I'd appreciate your perspective on how we might best align and refine the plan moving forward. I'd be deeply grateful if you could spare some time to review it and provide feedback on any areas that may need refinement or clearer articulation.

@HattoriHenzo
Copy link
Author

HattoriHenzo commented Apr 7, 2025

@Crazylychee Thanks for your feedback. Good job, your proposal is clear with very good information. The improvements you are talking about are very interesting and I am sure it will lead to a big improvement of the Dashboard and some parts of the project. The best approach would be to start with backend (spring boot) then the frontend (angular) and then correct the bugs you mentioned.
In your proposal we have 3 different parts: frontend, backend, bugs and documentation. What I can suggest is to:

  1. You can create a RIP-77 for the Frontend improvement and add the documentation improvement in the roadmap
  2. (if you allow me) I will take all the tasks related to the backend and add it to the RIP-76 roadmap
  3. For the bugs, you can add them to the respective issue boards (RocketMQ or RocketMQ-DashBoard), with the details on the different steps to reproduce them
  4. Concerning the implementation suggestions, I will take a look on it (a good help will be to have the bugs mentioned above to be created and described)

The next steps for me:

  1. Update the RIP-76 roadmap
  2. Create the related issues in the backlog
  3. Start working on those issues

Before taking an issue, feel free to ask if me or someone else is working on it before .

@Crazylychee
Copy link

@HattoriHenzo Thank you for your thoughtful suggestions. I'll follow your advice to create and maintain RIP-77. The dashboard overhaul (including both frontend and backend improvements) and bug fixes are all key components of my GSoC proposal. If selected, I would be truly excited to collaborate with you on these tasks - it would be an invaluable learning experience for me. Moving forward, I'll actively track your work and other contributors' progress to ensure our efforts are well-aligned without duplication. I look forward to adopting your working methods as we jointly enhance the dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants