Nxarrow-up-right + Angulararrow-up-right + NestJSarrow-up-right mono-repository starter with workflow automation.
arrow-up-right
PR open event (destination: trunk)
PR merge event (destination: trunk)
PR merge event (destination: trunk)
PR merge event (destination: trunk)
Manual, Scheduled (weekly)
In order to run own copy of the project one must fulfill the following requirements.
Supported operating systems
🏆 Debian based Linuxarrow-up-right - recommended
given that the dev environment is set up, the command yarn install:all:linux should install everything needed to work with the project;
🆗 OSXarrow-up-right - should work due to the similarities with Linux
one will have to figure out oneself how to set up the dev environment;
given that the dev environment is set up, the command yarn install:all:osx should install everything needed to work with the project;
the automation scripts support the OS with relatively high probability, but it has not been tested;
🚫 Windowsarrow-up-right - not recommended
one will have to figure out oneself how to set up the dev environment;
one will have to figure out oneself how to install required dependencies like protolint and shellcheck system wide;
the automation scripts support the OS with relatively low probability, but it has not been tested.
Core dependencies
Preferred package manager
Yarnarrow-up-right - preferred package manager for dependencies installation in the project root.
npmarrow-up-right - preferred package manager for dependencies installation in the functions folder.
Package scripts reference
The project has lots of package scripts, check it in the package.json located in the project root, or use the following command (see terminal output for usage tips)
Committing changes to repo
Using commitizen cliarrow-up-right is mandatory.
Provided all dependencies are installed, and commitizen cli is installed as a global dependencyarrow-up-right , this command must be used.
GitBook documentation
The GitBook documentation is generated based on this GitHub repo.
Firebase deployments
Application deployments and autogenerated engineering documentation.
Workspace generators
Generate a library
feature library
data-access library
This project was generated using Nxarrow-up-right .
🔎 Nx is a set of Angular CLI power-ups for modern development.
Quick Start & Documentation
Adding capabilities to the workspace
Nx supports many plugins which add capabilities for developing different types of applications and different tools.
These capabilities include generating applications, libraries, .etc as well as the devtools to test, and build projects as well.
Below are some plugins which can be added to the workspace:
Application type
Command
Part of the workspace
Web (no framework frontends)
Generating an application
To generate an application run:
You can use any of the plugins above to generate applications as well.
When using Nx, you can create multiple applications and libraries in the same workspace.
Generating a library
To generate a library run:
You can also use any of the plugins above to generate libraries as well.
Libraries are sharable across libraries and applications.
It can be imported from @nx-ng-starter/mylib.
Running a development server
To start a dev server run:
Navigate to http://localhost:4200/.
The app will automatically reload if you change any of the source files.
Code scaffolding
To generate a new component run:
Building applications
To build the project run:
The build artifacts will be stored in the dist/ directory.
Use the --prod flag for a production build.
To execute the unit tests run:
To execute the unit tests affected by a change run:
To execute the end-to-end tests run:
To execute the end-to-end tests affected by a change run:
Understanding the workspace
To see a diagram of the dependencies of the projects run:
Generating a storybook for a feature or ui library
Visit the Nx Documentationarrow-up-right to learn more.
Technologies Reference
Development methodology