https://cafe-like-menu.netlify.app/
- pnpm - monorepo and dependencies (https://pnpm.io/installation)
- pnpm install - install all dependencies
- pnpm -r update (-L) - update all dependencies (latest)
- nestjs - api seriver (https://docs.nestjs.com)
- prisma
- graphQL
- redis - data caching
- nextjs - web client (https://nextjs.org/docs)
- tailwind
- turborepo - build\test\lint caching (https://turbo.build/repo/docs)
- turbopack
- Zustand - state managment tool (https://docs.pmnd.rs/zustand/getting-started/introduction)
- Immer - immutability tool (https://immerjs.github.io/immer/)
npm install -g pnpm- instal pnpm globalypnpm setup- set up system configuration for pnpmpnpm install turbo --global- install turbo globalypnpm install- install dependenciespnpm i --frozen-lockfile- install dependencies from lock filepnpm libs:build- build all libraries
how to setup api-server read in apps/api/readme.md
pnpm run web:dev- run webpnpm run web-admin:dev- run web-adminpnpm run api:dev- run api server
pnpm install- install dependenciespnpm add [lib name]- add a new dependencypnpm add [lib name] --filter [app name]- add a new dependency to specific apppnpm up -r -i- update all dependenciespnpm up -r -i --workspace api- update dependencies forapiapppnpm create next-app new-next-app- create a new nextjs apppnpm create next-app apps/web-admin --ts --use-pnpm --import-alias @/ --src-dir --app --eslint --tailwind- add a new next app (typescript, tailwind, eslint)
-
common
- add utility libs (as new shared folder):
- prettier
- eslint
- typescript
- add shared validation library
- add data immutalabity
- add utility libs (as new shared folder):
-
backend
-
frontend:
- import and use graphql schemas
- zustand store - use selectors
- zustand store - how to use: post\get state (isLoading, error etc)
- add ENV param to use mocked data instead of api-server
- move api request to separated module