by @tomastrajan
- Live Demo
- Getting Started
- Useful Commands
- Make It Your Own
- Learning Materials
- List of Projects Built Using This Starter
- Features
- Stack
- Code of Conduct
- Contributors Guide
- Changelog ( get notified about the newest releases, follow Release Butler on Twitter )
git clone https://github.com/tomastrajan/angular-ngrx-material-starter.git new-project
cd new-project
npm install
npm start
npm start
- starts a dev server and opens browser with running appnpm run test
- runs lint and testsnpm run watch
- runs tests in watch modenpm run prod
- runs full prod build and serves prod bundlenpm run prettier
- runs prettier to format whole code base (.ts
and.scss
)npm run analyze
- runs full prod build andwebpack-bundle-analyzer
to visualize how much code is shipped (dependencies & application)
When using this starter project to build your own app you might consider some of the following steps:
- use
search and replace
functionality of your favourite IDE to replacebl
with<your-app-prefix>
- rename project in
package.json
name
property and set appropriate version (eg0.0.0
or1.0.0
) - rename app in
src/environments/
files (will be shown in browser tab) - delete pre-existing
CHANGELOG.md
(you will generate your own with future releases of your features) - delete
CODE_OF_CONDUCT.md
,CONTRIBUTING.md
andBUILT_WITH.md
files as they are relevant only if project is open sourced on Github - remove or adjust links in the footer
- replace logo in
src/assets
folder ( currently 128 x 128 pixelpng
file ) - adjust colors in
src/themes/default-theme.scss
- create a pull request in the original repository to update
BUILT_WITH.md
file with a link and short description of your project
Starter project is using Travis CI for running linters and tests on every commit. Based on your preferences and needs you can either:
- not use / use other CI server and delete both
.travis.yml
and.travis-deploy.sh
- create Travis CI account and link it to your projects Github repo and configure build
with
GH_REF
andGH_TOKEN
environment variables for automatic deployment of releases to Github Pages
Articles with content that explains various approaches used to build this starter project.
- Blog post about Best Practices for Angular CLI used in this starter project
- Blog post about Typescript tips for Ngrx reducer code
- Blog post about building responsive layouts with Bootstrap 4 in Angular apps
- Blog post about displaying loading indicator before app startup
- custom themes support (3 themes included)
- lazy-loading of feature modules
- lazy reducers
- localStorage ui state persistence
@ngrx/effects
for API requests- fully responsive design
- angular-material and custom components in
SharedModule
- Angular
- ngrx (or try ngx-model if you prefer less boilerplate)
- Angular Material
- Bootstrap 4 (only reset, utils and grids)
- Blocking at emitting LicenseWebpackPlugin when npm start - try using cnpm instead of npm
Built with and uses Angular CLI