Open AdamSiekierski opened 4 years ago
I'm a fan of the first option. Just rewriting the whole thing in Vue 3.
I to be honest can't decide between the second option with the Next.js variant, and the third option. The more monolithic approach would be safer (less places where auth could just fail) and it'd improve the quality.
Having another app specifically for admin panel isn't a good option in my opinion, and is harder to maintain and expand. I would love to be able to use react-admin
.
And refactoring the main frontend from Gatsby to Next.js is still a plan, regarding the approach we choose for Admin Panel. Having the tasks fetched server-side would strongly improve the UX, performance and overall experience
We have some things to discuss. Something about the Admin Panel and a bit about the future of zskTasks.
We want the app to be kind of showcase of our current skills. The website is doing great, we're using Gatsby and the code is quite clean - only thing now is adding new features. The API is really good now - after migration to MongoDB and fixing the routes, it's a really good project. But we have one thing that isn't that great - Admin Panel... and it's a pain in the ass.
We need to improve it - lots of features aren't working, the code is a huge spaghetti and it's hard to maintain and expand. So we need changes - I have a few options we'll need to discuss:
pug
and next we could add a framework like Preact or Vue.js for reactivity (we would focus on the simplicity, so no webpack or bundling, we need to keep it as simple as possible)Using React or Preact for Admin Panel would be a great opportunity to use
react-admin
.Also merging to Next.js would create an ability to move the backend to Vercel Functions. It's an option, but I think we should stick to our Node backend - the codebase is more readable, it's more expandable, scalable and won't require refactoring in order to move to Next.js.
Give your thoughts in the comments :D. I think that we now have a good base to make the app better, faster and modern, so let's use it and make a sick project!