jacobsamo / Mixie

Mixie is an open source, community-driven recipe platform where home cooks and food enthusiasts can cook, create and collaborate on unique and delicious recipes.
https://mixiecooking.com
GNU Affero General Public License v3.0
1 stars 0 forks source link

Full app rewrite #51

Closed jacobsamo closed 10 months ago

jacobsamo commented 1 year ago

The new and improved app directory has now been released as stable from the nextjs team which is very exciting with speed improvements across the board something worth upgrading to

The plan

So from the start I have been really learning a lot and I think this is the perfect time to do a full rewrite of Meally, yes I know that's a lot of work but in the long run it will make things simple and since I already know what I want things to look like and feel like as well as the code that already works things should be simple to do the rewrite. This rewrite will allow be to leverage the new features in React, Nextjs, Vercel, Turbo and many other technologies

Some things we are going to change

Over this change there are going to be massive changes so here are something we are moving to and something we are changing

Move to Preact rather than React

Preact is a small and lightweight package that has all the features that React has but brings you closer to the DOM bringing speed improvements overall

Move from Firebase to Drizzle & PlanetScale

Firebase is an awesome provider from a small-scale application but it has quite a few limitations with its pricing compared to PlanetScale simply with reads and writes which is something I wanted to eliminate as I want to be able to more reads and write to the database for a better experience across the app

Drizzle ORM

Drizzle is a new and upcoming ORM with huge speed improvements compared to Prisma, this also allows for it to run on the edge which is incredibly important with all the new features in nextjs

TODO:

Recipe Form

Recipe page

Profile / Settings

Search

Rewrite

After this

jacob-123-s commented 1 year ago

On Recipe schema in the database figure out which object would be ok to be a JSON and which object would be best to be split into another table so for example the ingredients probably should be split into a sperate table as we do / will search on it, plus than we can add other functionality to it will a list of ingredients and other things

jacob-123-s commented 10 months ago

For time inputs follow something like how Jira does their time tracking image it's super easy to do and has plenty of validation on it

jacobsamo commented 10 months ago

Fully rewrote the app in #67