-
Make sure you've installed Node 16 for optimal usage. (14 will work but pnpm setup could be harder)
-
Install pnpm package manager. For node versions before 16, use
npm install -g pnpm
corepack enable
-
Install watchman (required for relay) from here https://facebook.github.io/watchman/ or through chocolatey,
choco install watchman
-
Install dependencies through,
pnpm install
-
You should have mysql installed and running on your machine.
-
You can customize the database connection by creating a
.env.dev
file in backend folder. Structure of the file is as follows.DATABASE_NAME=universal_todo DATABASE_USER=root DATABASE_PASSWORD=root
-
Make sure your MySQL has a database with the correct name with correct username and password.
-
Start the development servers with,
pnpm dev
Utilize following commands to install in the respective project folders
-
Frontend install (alias for
pnpm --filter frontend add
)pnpm fea lodash
-
Backend install (alias for
pnpm --filter backend add
)pnpm bea lodash
Aliases has been created to utilize scoped PNPM commands correctly.
-
backend (for
pnpm --filter backend
)pnpm be
-
frontend (for
pnpm --filter frontend
)pnpm fe
-
Run dev script in backend.
pnpm be dev
-
remove lodash from frontend
pnpm fe remove lodash
- A custom made version of @nestjs/cli has been created for this project.
- It is capable of generating an entire CRUD resource (Module, Service, Resolver, Entity, DTOs) by itself.
- It is integrated with TypeORM and nestjs-query as well.
- Run the following command to create a new resource.
pnpm nestgen resource-name
- You should always use this to generate new Endpoints.
We utilize convention commits to put our commits in a standard format. This helps us to generate changelogs and release notes automatically. Please follow the following guide to commit your changes.
<type>[optional scope]: <description>
[optional body]
[optional footer]
feat: add 'comments' option
You should use feat:, fix:, chore:, mainly. Additionally you can use docs:, style:, refactor:, perf:, test: as well.
feat: allow provided config object to extend other configs
BREAKING CHANGE: `extends` key in config file is now used for extending other config files
docs: correct spelling of CHANGELOG
feat(lang): added polish language
fix: minor typos in code
see the issue for details on the typos fixed
fixes issue #12
Utilize the workspace file to access the workspace, it contains following folders,
- Nest Query - https://tripss.github.io/nestjs-query/
- Nest GraphQL - https://docs.nestjs.com/graphql/quick-start
- Nest Tutorials - https://github.com/nestjs/awesome-nestjs
- Relay docs - https://relay.dev/docs/
- GraphQL docs - https://graphql.org/
- React tutorials - https://github.com/enaqx/awesome-react
- You can use any mysql client to browse. I recommend dBeaver. You can download it from here https://dbeaver.io/download/
Todo
Todo