This is a sample project that focus on studying how to implement a clean and scalable React application using some patterns and best practices.
- Server actions.
- Use cases/Services.
- Used in controllers.
- Besides handling HTTP requests, they manage caching and service-related logic.
- Managed by actions.
- Local Storage.
- Cookies.
- Client.
- Server.
- Used in actions.
- Requests.
- Used in the view.
- 1 controller per view (or per set of components where it makes sense).
- Manages all the logic and state of the view.
- Displays the component on the screen.
- Files in the
app
andapplication
folders: kebab-case. - All others: PascalCase.
- Implement Tanstack (maybe SSR/CSR).
- Tests.
- Zustand?
- More abstractions.