- Vite https://vitejs.dev
- pnpm https://pnpm.io
- pnpm create vite@latest
- tailwindcss https://tailwindcss.com
- https://blog.logrocket.com/setting-up-dev-environment-react-vite-tailwind/
- pnpm add -D prettier
- create ./src/pages/HomePage.tsx, ./src/pages/AnotherPage.tsx, etc, with the name of the page as the h1 for POC
- pnpm add react-router react-router-dom
- create a component, EagerRoutes.tsx, to register the pages
- use the EagerRoutes component in the App.tsx with BrowserRouter
- run the application and navigate to different pages using the URL field of the browser
- create another component for routing and name it LazyRoutes.tsx
- register the pages in the LazyRoutes
- use the LazyRoutes component in the App.tsx with BrowserRouter
- run the application and navigate to different pages using the URL field of the browser
- create a component, NavigationBar.tsx
- Add links/menus for different pages in the NavigationBar
- run the application and try to navigate using the menus
- create styling for the navigation bar
- create a views folder, ./src/views/
- create a layout template for the pages and put it in the ./src/views/MainLayout.tsx
- run the application to see if it works
- create ./src/models/todoType.ts or ./src/models/todoModel.ts
- create other models if needed
- pnpm add axios
- create ./src/api/axiosConfig.ts
- this is also where interceptors will be added for header authorization if needed
- create ./src/api/genericApiCalls.ts
- pnpm add -D json-server concurrently
- create ./src/json-server/db.json and ./src/json-server/routes.json
- add proxy in the packages.json
- update the scripts
- create ./src/pages/WorkTodosPage.tsx
- write the local states for the page
- write a function to fetch the todos
- add the fetch function to the useEffect hook
- run the application, npm run start:fullstack, and see the network tab of DevTools if response is 200ok
- use the map array utility to render all the todos.
- create ./src/hooks/useBudget.ts
- use the useBudget hook on the WorkTodosPage.tsx
- create the button and presentation for the budget
- add a test for the useBudget hook on the WorkTodosPage.test.ts