Skip to content

mrtousif/hasura-keycloak-nx

Repository files navigation

NestHasuraKeycloakNx

This workspace has been generated by Nx, a Smart, fast and extensible build system.

  • Prerequisite:

    • Docker
    • NodeJS v18 or later
    • Pnpm
    • Dbmate (used for handling migrations)
    • Task
  • Installation

    1. pnpm install
    2. task composeUp - Will start the containers defined in docker-compose file
    3. npx nx run main-server:migrateUp - Run db migration
    4. npx nx run main-server:kyselyGen - Generate code for kysely
    5. npx nx run main-server:seedScript- Run the seeder
    6. pnpm hasura:apply - Apply hasura metadata

Start the app

To start the development server run npx nx run main-server:dev. Open your browser and navigate to http://localhost:7000/

Generate code

If you happen to use Nx plugins, you can leverage code generators that might come with it.

Run nx list to get a list of available plugins and whether they have generators. Then run nx list <plugin-name> to see what generators are available.

Learn more about Nx generators on the docs.

Running tasks

To execute tasks with Nx use the following syntax:

nx <target> <project> <...options>

You can also run multiple targets:

nx run-many -t <target1> <target2>

..or add -p to filter specific projects

nx run-many -t <target1> <target2> -p <proj1> <proj2>

Targets can be defined in the package.json or projects.json. Learn more in the docs.

Want better Editor Integration?

Have a look at the Nx Console extensions. It provides autocomplete support, a UI for exploring and running tasks & generators, and more! Available for VSCode, IntelliJ and comes with a LSP for Vim users.

Ready to deploy?

Just run nx build demoapp to build the application. The build artifacts will be stored in the dist/ directory, ready to be deployed.

Set up CI!

Nx comes with local caching already built-in (check your nx.json). On CI you might want to go a step further.

Connect with us!