Your dream stack22nd April 2021
We've all at some point complained about the projects we work on (it's even happened to me with my personal ones, :sad:) and that got me thinking, if by Disney's magic, the perfect client came along, with deadlines without pressure, budget even for grill meetings and with all the desire to do things right: what would you use to create their app? I'll start with me:
For the frontend, first of all, I would make sure to have ALL the view designs already done, and everything as if they were component libraries, I would follow something like atomic design.
Once I have everything in my components library (views, elements, color palette, icons, etc...) I would start the implementation, and yes, it would be a React app.
As all the design is already well implemented, I would like to have all those mockups and components available and reusable at the code level (as the design is planned), for that, I would use a very cool tool: Storybook. This tool allows me to create my components and test them before using them directly in the application.
Once I have my Storybook ready, I would start creating the pages, technically it would be just applying the business logic to the components (in the storybook I already tested how it looks and behaves already rendered).
For all the UI I would use Tailwind CSS. It's a super flexible CSS framework, and although I used to use SaSS all the time before, I think that with TW I like to use PostCSS and configure everything so that the CSS files have a little more features (like nested rules, imports, and so on).
As I'm not someone who does backend all the time, every project I like to look for some new node framework (there are about 3 coming out daily xD), although TBH since I met AdonisJS, I've been using it as my main backend framework. It has many features that I find cool, and the most important thing is that it is set up to work under certain conventions, which "forces" the devs to make things a little more organized.
Adonis already has everything it needs to work: its ORM, its own test suite, and its conventions, so I wouldn't need to add more (at least to some extent).
Basically, I would create my REST APIs so they can feed the client I built with React.
As you can see, I'm pickier for the frontend, although the backend I also like to have it well organized.
What about you? What would be your dream stack?