1

I know this question is asked time and again, and yet things are changing so rapidly in the software world that one-year-old answers could be absolutely irrelevant and outdated today. So I am asking again.

I have a 10-year-old site built with PHP/jQuery/Perl. I need to upgrade it, but I moved out of web development ages ago.

The site allows choosing some components from a list and storing selected components (many, up to thousands) in the user account. The user can play with these components interactively (DnD) combining them in groups (also stored in DB). The site also shows graph statistics: which components were used and how often. All user info can be exported as an Excel file. The site is a prepaid service. That's it.

I have a 10-year-old knowledge of web design: js, CSS, and responsivity.

I want to preserve the site's business logic, but I do not mind learning new languages/frameworks/libraries. Actually, I prefer to spend some time learning modern technologies now than rebuilding the site in a couple of years because it is outdated again.

However, I need to rebuild the site ASAP.

What frameworks would you recommend for such a site?

2 Answers 2

1

To give you a better answer I should see the old site but as far as I can see from your description, it is a typical web app with some back-end and front-end functionality and you also want to be able to have some admin panel for the back-end + be able to export the data as an Excel file. For the back-end I can suggest you a super simple solution that will give you out of the box the whole back-end API, admin panel and exporting to various formats: Directus Directus is open-source and free to use and you can delopy it for example in the DigitalOcean $5 droplet but to try it out in maybe half an hour or quicker, you may just go to Directus website and create an free account to test it out. Or use it in localhost. With Docker just few commands.

For the front-end I suggest Svelte. It is a modern front-end stack like React or VueJs or Angular but it is actually not a framework with a virtual DOM. It is a JavaScript compiler that will compile you a super fast and neat Vanilla JS. It is quick to learn and much easier than modern front-end stacks. It is gaining super quickly popularity and if you check the Svelte Discord community for example then you will find it full of enthusiastic and helpful people. SvelteKit (a UI framework that uses a Svelte compiler to let you write breathtakingly concise components that do minimal work in the browser) got highly popular long before its first stable release of v1 in December 2022.

I suggest going through some quick Svelte courses and then maybe Huntabyte's SvelteKit course. It will probably take you a month and you will feel that you are much further than back in PHP/jQuery/Perl times. You will also pick on the way to Tailwind CSS and discover how quick is today the building of UI. Feel free to contact me for a chat about the web development stack.

2
  • 1
    Thank you. I have had a look at Directus - it said Directus works with SQL-based DBs. My DB is MongoDB and I would like to preserve it. Looking at Svelte now.
    – Flot2011
    Jan 11 at 16:58
  • If MongoDB then surely not Directus Jan 12 at 10:00
0

This is not an answer - but just trying to get better details on what to recommend.

There are many frameworks that require limited web knowledge (i.e. WordPress). There are other frameworks that are used best with existing languages (i.e. Python and Django), and then pure web development languages (i.e. ASP).

All of the above would allow you to create the website you desire. But you may want to consider how much re-learning you want to do.

You used PHP - would you prefer a framework that was written in or designed for PHP? Does your "moved on" - indicate you are using a new language? If so, then that might affect the libraries we might recommend.

Please consider providing a little more detail on what you want or any recommendations would be too long or possibly not best for your needs.

1
  • Please see my updated answer. Feel free to ask more questions if you need. Thank you.
    – Flot2011
    Jan 10 at 22:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.