Skip to content

NX monorepo | Nextjs 14 | Nestjs 10 | PostgreSQL | Prisma ORM | CRUD

Notifications You must be signed in to change notification settings

ryttuo/human-resources

Repository files navigation

HrApp

✨ Your new, shiny Nx workspace is ready ✨.

Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore what was created. Now, let's get you up to speed!

Dependencies

  • node 18
  • npx
  • docker

Run tasks

To run the dev server for your app, use:

hr-api (hr-api backend)

npm run start:web-api

hr-web (hr-web frontend)

npm run start:web

hr-web-test (hr-web unit tests)

npm run start:web-test  

hr-web-e2e (hr-web e2e tests)

npm run start:web-e2e

docker with postgreSQL (run db locally)

docker run --name my-postgres -e POSTGRES_USER=admin -e POSTGRES_PASSWORD=admin -d -p 5432:5432 postgres

user: admin
password: admin

Initialize setup and running localhost app

npm install (install dependencies   )
npx prisma migrate dev --name init (create migrations)
npm run start:seed (seed db)
npm run start:web-api (run backend)
npm run start:web (run frontend)

To see all available targets to run for a project, run:

npx nx show project hr-api
npx nx show project hr-web
npx nx show project hr-web-e2e

#hr-app summary mono repo

apps:

  • hr-api (nestjs 10, prisma)
  • hr-web (nextjs 14, context api for state management)
  • hr-web-e2e (playwright)

libs:

  • hr-services (front-end http request services, axios)
  • hr-ui (ui components, react-loading-skeleton)
  • shared-type (typescript interfaces for be and fe)

database:

  • postgreSQL (database)
  • prisma (ORM and migrations)
  • docker (run db locally)

These targets are either inferred automatically or defined in the project.json or package.json files.

More about running tasks in the docs »

Add new projects

While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.

Use the plugin's generator to create new projects.

To generate a new application, use:

npx nx g @nx/node:app demo

To generate a new library, use:

npx nx g @nx/node:lib mylib

You can use npx nx list to get a list of installed plugins. Then, run npx nx list <plugin-name> to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.

Learn more about Nx plugins » | Browse the plugin registry »

Set up CI!

Step 1

To connect to Nx Cloud, run the following command:

npx nx connect

Connecting to Nx Cloud ensures a fast and scalable CI pipeline. It includes features such as:

Step 2

Use the following command to configure a CI workflow for your workspace:

npx nx g ci-workflow

Learn more about Nx on CI

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Useful links

Learn more:

And join the Nx community:

About

NX monorepo | Nextjs 14 | Nestjs 10 | PostgreSQL | Prisma ORM | CRUD

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published