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 forapi
apppnpm 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