Angular starter kit
Nhan Nguyen
- github/nhannguyendevjs
- twitter/nhannguyendevjs
- linkedin/nhannguyendevjs
- dev.to/nhannguyendevjs
- medium/nhannguyendevjs
Copyright Β© 2024, Nhan Nguyen.
Released under the MIT License.
ng new angular-starter-kit --standalone=true --style=scss --skip-git=true --skip-tests=true
npm i -D webpack-bundle-analyzer
ng add @angular/material
ng add @angular/pwa
npm i -D tailwindcss postcss autoprefixer tailwind-merge
npx tailwindcss init
ng add @jsverse/transloco
npm init playwright@latest
npm i -D vitest @vitest/coverage-istanbul @vitest/coverage-v8 @vitest/ui prettier
npm i lodash luxon @ngrx/store animate.css ngx-skeleton-loader ngx-toastr uuid nanoid zod hotkeys-js swiper apexcharts ng-apexcharts
npm i -D @types/lodash @types/luxon @types/uuid @types/nanoid
β PascalCase π Classes and Methods
β camelCase π variable and function names
β snake_case π file names and variable identifiers
β kebab-case π HTML attributes and CSS classes
β UPPERCASE π CONSTANTS and ENUMERATIONS
β UPPER_SNAKE_CASE π CONSTANTS and ENVIRONMENT_VARIABLES
β Development (dev)
All new features and bug fixes should be brought to the development branch.
β QA/Test (test)
Contains all codes ready for QA testing.
β Staging (staging, Optional)
It contains tested features that the stakeholders wanted to be available either for a demo or a proposal before elevating into production.
β Master (master)
The production branch, if the repository is published, is the default branch being presented.
Any code changes for a new module or use case should be done on a feature branch. This branch is created based on the current development branch. When all changes are Done, a Pull Request/Merge Request is needed to put all of these to the development branch.
Examples
feature/AZURE-1234
feature/AZURE-5678
If the code changes made from the feature branch were rejected after a release, sprint or demo, any necessary fixes after that should be done on the bugfix branch.
Examples
bugfix/AZURE-1234
bugfix/AZURE-5678
If there is a need to fix a blocker, do a temporary patch, or apply a critical framework or configuration change that should be handled immediately, it should be created as a Hotfix. It does not follow the scheduled integration of code and could be merged directly to the production branch and then into the development branch later.
Examples
hotfix/disable-endpoint-zero-day-exploit
hotfix/increase-scaling-threshold
Any new feature or idea that is not part of a release or a sprint. A branch for playing around.
Examples
experimental/dark-theme-support
A branch specifically for creating specific build artifacts or for doing code coverage runs.
Examples
build/azure-metric
A branch for tagging a specific release version.
Examples
release/app-1.0.0
A temporary branch for resolving merge conflicts, usually between the latest development and a feature or Hotfix branch. This can also be used if two branches of a feature being worked on by multiple developers need to be merged, verified, and finalized.
Examples
merge/dev_lombok-refactoring
merge/combined-device-support
- Prettier - Code formatter
- SonarLint
- Code Spell Checker