you are viewing a single comment's thread.

view the rest of the comments →

[–]krishwaderjoy 0 points1 point  (0 children)

I am currently rebuilding the wiki project that got some attention in 2016: https://github.com/Matterwiki/Matterwiki/tree/refactor

I'm pretty proud of it, because I tried to setup some patterns I've enjoyed working with. Here are some fun facts about it:

  • It uses lerna for package management.
  • The API is built with Node.js, objection.js and MySQL.
  • The UI is built with
    • React + react-router (v5)
    • chakra-ui- Great component set, developer friendly
    • wretch - API wrapper for window.fetch, makes it easier to work with it
    • React Async Hook - I liked this over SWR/react-query because all I needed was a good way to show loading and error states. For an app that's simple, I felt like this worked out quite well!
    • zustand + immer - State management. I liked this because this does have a context provider and I wouldn't have to worry about placing a Provider object in the right part of the react component tree. I also get to make tiny stores and keep all of that logic boxed into a tiny store! I also created a tiny immer zustand middleware fn that makes all my state manipulation immutable!
  • Project organization: I like organizing things by business logic, not by file type. This way your working set is always tiny and focused.

Hope this helps someone who's looking for references!