This project was created to speed-up development proccess and give a set of pre-configurated tools includind Prisma, TypeORM , shadcn-ui , tailwindCSS, Next.js, Nest.js
- Full integration with
NX
.NET
andNext.js
out of the box- Already configuration with
Microsoft.EntityFrameworkCore
- Out of the box configuration with
postgreSQL
, which means you just have to setuppostgreSQL
enviroment or use default ones. Docker
integration that setup developmentpostgreSQL
for you. You just need to install docker on your system and launch thedocker-engine
Swagger
integrtion inclusiveSwagger typescript generator
- If you prefer to use
shadcn-ui
, nownx-quickstart
have fully integration with this ui library
-
Install necessary dependecies on you system
- (.NET SDK 8.0.1)[https://dotnet.microsoft.com/en-us/download/dotnet/8.0]
- (.NET SDK 7)[https://dotnet.microsoft.com/en-us/download/dotnet/7.0] (because Swashbuckle.AspNetCore 6.5.0 that is used on template is using .NET SDK 7) if you want to generate typescript types from swagger
pnpm
package manager
-
Generate a nx project template this will install all necessary dependencies and promts your preferences.
npx nx-quickstart@latest
-
Provide your specific postgreSQL enviroment or use default one that is generead by docker-compose file in tools/docker/dev.docker-compose.yml
-
Compose docker container
pnpm run db:up
- Update database with latest migrations
pnpm run db:update
- Run development server
pnpm run dev
- Open your browser and navigate to http://localhost:4200/. Happy coding!
"dev": running docker container , concurrently runs frontend and backend
"dev:api": runs development server of `backend`
"dev:web": runs development server of `frontend`
"dev:swagger-codegen": generates typescript types from swagger documentation
"db:up": compose a docker container from [tools/docker/dev.docker-compose.yml](tools/docker/dev.docker-compose.yml) file
"db:migrate": adds db migration
"db:update": updates db with recently added migrations
Prisma-Template Typeorm-Template
This is the templates used for nx projects generation. We also support contribution to them , so feel free to check it.
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.
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.
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.
Just run nx build demoapp
to build the application. The build artifacts will be stored in the dist/
directory, ready to be deployed.
Nx comes with local caching already built-in (check your nx.json
). On CI you might want to go a step further.