Skip to content
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

Refactoring of frontend architecture and new design #1915

Open
jzakotnik opened this issue Jul 17, 2024 · 1 comment
Open

Refactoring of frontend architecture and new design #1915

jzakotnik opened this issue Jul 17, 2024 · 1 comment
Assignees
Labels
feature Indicates a new feature implementation frontend Indicates frontend related issue or feature

Comments

@jzakotnik
Copy link
Contributor

To implement a new design of trubudget, the proposal is to combine it with a re-write of the UI based on newer frameworks and removing technical debt. For example Redux, Sagas, etc.

As a next step, we need to define architecture decisions for the rewrite and then implement it separately from the existing solution.

@jzakotnik jzakotnik added feature Indicates a new feature implementation frontend Indicates frontend related issue or feature labels Jul 17, 2024
@galethil galethil added this to the Trubudget 2.15.0 milestone Sep 5, 2024
@MartinJurcoGlina
Copy link
Collaborator

There are several possibilities how to proceed with frontend refactoring:

  1. use of modern frameworks like NextJS (recently new major version 15 released) or Remix
  • Both are in many ways similar and competing each other and used by several big companies
  • Next has larger community, Remix rapidly increasing in popularity
  • Next utilize hybrid rendering combining server side, static page generation, client side rendering whereas Remix prefers server side rendering
  • Remix initially has smaller size build
  • both options would need adjustments to our app architecture/devops as they would need NodeJS service to host the frontend
  1. option to rewrite frontend in React with modern principles in mind, like using hooks, getting rid of Redux and Sagas, also without Create-react-app as it is not maintained
  2. implement just the new designs in current frontend and try at least to use latest version of Material UI and set it according to guidelines

When it comes to what CSS lib/framework to use with first option:

  • Material UI, it is harder to initially set with Next and Remix but can be done
  • Tailwind with DaisyUI (component library)
  • something different?

More on Next and Remix differences, advantages and disadvantages here:
https://hygraph.com/blog/remix-vs-next

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Indicates a new feature implementation frontend Indicates frontend related issue or feature
Projects
Development

No branches or pull requests

4 participants