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

Find longterm frontend solution #225

Open
leepeuker opened this issue Jan 11, 2023 · 6 comments
Open

Find longterm frontend solution #225

leepeuker opened this issue Jan 11, 2023 · 6 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@leepeuker
Copy link
Owner

leepeuker commented Jan 11, 2023

The current frontend consists of hacky twig templates and a few thrown together js/css files, which are not so great to maintain.

Possible solutions for this I see are:

  • refactor and improve the twig templates and use something like webpack to manage the js code
  • use a framework like vue.js or next.js for the frontend

Right now I slightly favor building a vue.js proof of concept, mainly because I had the most experience with it in the past. Not sure when I will have the time to look into that more, help appreciated.

@leepeuker leepeuker added enhancement New feature or request help wanted Extra attention is needed labels Jan 11, 2023
@perebusquets
Copy link

Hi! I've just found this media library and I would be willing to contribute (specially on this topic).

Mainly I have experience with React but I would also be willing to get hands on with VueJS if need be. Just to make sure we get the right framework/setup for this, I will ask some questions if you don't mind:

  1. In the post, you propose NextJS instead of React as an alternative, which is often used for server side rendering. Is this because of some need/functionality? Or just because of the batteries included nature of NextJS?
  2. Would you be willing to accept a poc made with React? (in this case I could provide everything set up, including translations, build tools, authentication management, etc pretty quick, as it's what I'm most familiar with).

IMHO, regardless of what framework we use, I think the best path would be a SPA, which gets bundled into a single JS file. This way we could send it in a twig template, and there wouldn't be any need to run an extra docker container or having node installed. It also brings the possibility of easily implementing it as a PWA, having a good mid term solution between only being web based and having a mobile app.

Once a framework is decided, I would also like to suggest that we use a component library for speed of development. With this one, I'm also open to suggestions!

@leepeuker
Copy link
Owner Author

leepeuker commented Jan 13, 2023

To be honest I cannot answer most of the question right know because I do not know the answers without doing more recherche.

IMHO, regardless of what framework we use, I think the best path would be a SPA, which gets bundled into a single JS file. This way we could send it in a twig template, and there wouldn't be any need to run an extra docker container or having node installed. It also brings the possibility of easily implementing it as a PWA, having a good mid term solution between only being web based and having a mobile app.

That sounds like a good approach to me, any POC in that direction would be very welcome

@perebusquets
Copy link

Here's the promised proof of concept! If there are any questions, just ask away!

@leepeuker
Copy link
Owner Author

Thank you @perebusquets for the POC, that helped me a lot to get a better feeling for the topic.

I do not think that we will move forward with it right now, I want to focus on making the current setup more stable for version 1.0, but I will keep this open for later versions were we can focus on modernizing the frontend.

@perebusquets
Copy link

Makes sense, if any questions arise please don't hesitate to contact me!

@JVT038
Copy link
Collaborator

JVT038 commented Jul 30, 2023

@leepeuker Is there any update on this? I think it would be the best to do this ASAP, because of the ever-growing codebase. The longer we wait, the more difficult it will become to overhaul / rewrite the frontend (and probably a part of the backend).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants