• Stars
    star
    2,802
  • Rank 15,619 (Top 0.4 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Angular, NgRx, Angular CLI & Angular Material Starter Project

Angular 12, NgRx and Angular Material Starter

by @tomastrajan

Buy Me A Coffee

license All Contributors code style: prettier Build Status Codecov Twitter Follow

intro themes

Table of Content

Getting started

git clone https://github.com/tomastrajan/angular-ngrx-material-starter.git new-project
cd new-project
npm install
npm start

Useful Commands

  • npm start - starts a dev server and opens browser with running app
  • npm run start:prod - runs full prod build and serves prod bundle
  • npm run test - runs lint and tests
  • npm run e2e - runs end-to-end tests
  • npm run watch - runs tests in watch mode
  • npm run format:write - runs prettier to format whole code base (.ts and .scss)
  • npm run analyze - runs full prod build and webpack-bundle-analyzer to visualize how much code is shipped (dependencies & application)

analzye

Make It Your Own

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 replace anms with <your-app-prefix>
  • rename project in package.json name property and set appropriate version (eg 0.0.0 or 1.0.0)
  • remove / rename context path config -- --deploy-url /angular-ngrx-material-starter/ --base-href /angular-ngrx-material-starter in package.json, this is used to configure url (context path) on which the application will be available (eg. https://www.something.com/<context-path>/)
  • rename app in /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 and BUILT_WITH.md files as they are relevant only if project is open sourced on Github
  • edit the title and Open Graph metadata properties in index.html
  • remove or adjust links in the footer
  • replace logo in /assets folder ( currently 128 x 128 pixel png file )
  • adjust colors in /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

Continuous Integration

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 and GH_TOKEN environment variables for automatic deployment of releases to Github Pages

Goals

The main goal of this repository is to provide an up to date example of Angular application following all recent best practices in various areas like:

  • @ngrx/store - including reducers, actions, selectors
  • @ngrx/effects - for implementation of side effects like http requests, logging, notifications,...
  • @ngrx/entity - for CRUD operations
  • @ngrx/router-store - to connect the Angular Router to @ngrx/store
  • @ngrx/store-devtools - to enable a powerful time-travelling debugger.
  • @angular/material - material design component library, theming, ...
  • routing
  • testing of all the above mentioned concepts
  • Angular CLI configuration (prod build, budgets, ...)

This repository will also strive to always stay in sync with releases of Angular and the related libraries. The nature of the repository is also a great match for first time open source contributors who can add simple features and enhance test coverage, all contributors are more than welcome!

Learning Materials

Articles with content that explains various approaches used to build this starter project.

Theming

Features

  • custom themes support (4 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

Stack

  • Angular
  • ngrx (or try ngx-model if you prefer less boilerplate)
  • Angular Material
  • Bootstrap 5 (only reset, utils and grids)

Troubleshooting

  • Blocking at emitting LicenseWebpackPlugin when npm start - try using cnpm instead of npm

Contributors

Want to start contributing to open source with Angular?

Leave your mark and join the growing team of contributors!

Get started by checking out list of open issues and reading Contributor Guide


Tomas Trajan

๐Ÿ’ป ๐Ÿ“– โš ๏ธ ๐ŸŽจ ๐Ÿ“

Tim Deschryver

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿค” ๐Ÿ“–

Santosh Yadav

๐Ÿ’ป โš ๏ธ

Moshe

๐Ÿ’ป โš ๏ธ ๐Ÿ›

hhubik

๐Ÿ’ป ๐Ÿ“–

Muhammad Umair

๐Ÿ’ป

Phil Merrell

๐Ÿ’ป

Valery Kharshats

๐Ÿ’ป ๐Ÿ›

Neil Pathare

๐Ÿ“–

Peter Krieg

๐Ÿ’ป ๐Ÿ›

Alex

๐Ÿ’ป ๐Ÿ›

Fiona

๐Ÿ’ป ๐ŸŒ

Fabien Dehoprรฉ

๐Ÿ’ป ๐ŸŒ

Matias Iglesias

๐Ÿ’ป ๐ŸŒ

Jeremy Kairis

๐Ÿ’ป ๐Ÿ›

Iago Andrade

๐Ÿ’ป ๐ŸŒ

aideslucas

๐Ÿ’ป ๐ŸŒ ๐Ÿ›

Terry Strachan

๐Ÿ’ป โš ๏ธ

Laurentiu Amagdei

๐Ÿ’ป โš ๏ธ

Petar Djordjevic

๐Ÿ’ป

Zachary DeRose

๐Ÿ’ป โš ๏ธ

erhise

๐Ÿ’ป โš ๏ธ

Joost Zรถllner

๐Ÿ’ป โš ๏ธ

Tomasz Kula

๐Ÿ’ป โš ๏ธ ๐Ÿ›

Front-End Developer

๐Ÿ’ป ๐Ÿ›

Vishal Sodani

๐Ÿ’ป ๐Ÿ”ง

Kosmas Schรผtz

๐Ÿ’ป ๐ŸŒ

huyen1990

โš ๏ธ

Chau (Joe) Nguyen

๐Ÿ’ป โš ๏ธ

Amadou Sall

๐Ÿ’ป

Dino

๐Ÿ”ง

Mathias Dรธhl

๐Ÿ’ป

Carl in 't Veld

๐Ÿ’ป ๐Ÿ›

Abed Zantout

๐Ÿ’ป

Peng Wang

๐Ÿ’ป ๐ŸŒ

Ray

๐Ÿ’ก ๐Ÿ“–

alharto

๐Ÿ’ป ๐Ÿ›

roniaxe

๐Ÿ’ป ๐ŸŒ

Milรกn Tenk

๐Ÿ“–

Kadar Hamza

๐Ÿ’ป

Zakir

๐Ÿ’ป ๐Ÿ›ก๏ธ

Siddharth

๐Ÿ’ป ๐Ÿ”ง ๐Ÿ”Œ

Stephen Legge

๐Ÿ’ป ๐Ÿ““

Tino Gรถtz

๐Ÿ’ป

Dino

๐Ÿ’ป

Changyu Geng

๐Ÿ’ป

omaralharthy

๐Ÿ’ป

mcanoglu

๐Ÿ’ป

Dany Marques

๐Ÿ’ป

universaltutor5

๐Ÿ’ป

Dan Vargas

๐Ÿ’ป

Milรกn Tenk

๐Ÿ’ป

Shady

๐Ÿ’ป ๐ŸŒ

More Repositories

1

angular-js-es6-testing-example

Enhanced testing of Angular JS 1.X applications using ES6 modules
JavaScript
170
star
2

ngx-model

Angular Model. Simple state management with minimalistic API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
TypeScript
132
star
3

react-typescript-webpack

Seed for building React app using Typescript and Webpack build using FLUXless architecture
TypeScript
116
star
4

component-pattern-for-angular-js-1-x

Example of implementation of Component pattern for Angular JS 1.X using ES6 & Webpack
JavaScript
70
star
5

angular-architecture-example

TypeScript
68
star
6

medium-enhanced-stats

Google Chrome Extension for enhanced Medium stats! Get insight into total view count with new table summary row...
JavaScript
68
star
7

angular-library-architecture-example

Angular Library Architecture Example
TypeScript
40
star
8

angular-model-pattern-example

Model pattern for Angular (2, 4, ...), manage and share your state with simple services using RxJS Subjects and Observables
HTML
36
star
9

ngx-model-hacker-news-example

Example repository with Hacker News implementation using Angular, Angular Material & ngx-model
TypeScript
27
star
10

angular-mastery-workshop

TypeScript
18
star
11

releasebot

TypeScript
18
star
12

angular-lazy-lib-demo

How to lazy load modules from Angular libraries example
TypeScript
16
star
13

workshop-angular-schematics

TypeScript
13
star
14

grunt-ngsrc

Find and add your Angular.js source files into index.html automatically
JavaScript
11
star
15

angular-monorepo-enterprise-starter

Angular Monorepo Enterprise Starter
TypeScript
10
star
16

jasmine-async-sugar

Simple drop-in syntax sugar for Jasmine 2.X test framework to enhance testing of async (promise) functionality to be used with Angular 1.X
JavaScript
8
star
17

meetup-angular-material-themes-example

Angular Material Themes Code Example for Angular Meetup Zurich 21. 8. 2017
TypeScript
8
star
18

node-babel-es6-example

Use ES6 module syntax in node.js with minimalized Babel influence (because node.js already supports most ES6 features)
JavaScript
5
star
19

tomastrajan-com

TypeScript
4
star
20

ngrx-test

WIP
TypeScript
2
star
21

webpack-seed

Fully featured webpack build
JavaScript
2
star
22

angular-bootstrap-example

Minimalistic Angular 6 Bootstrap 4 integration example
TypeScript
2
star
23

ngconsultant

ng-consultant website
TypeScript
2
star
24

Quado

Android arkanoid (breakout) type game
Java
2
star
25

complete-angular2-seed

Feature complete seed for Angular 2.0 applications with Typescript, Webpack build and focus on code style, testing and production ready packaging
TypeScript
1
star
26

fintech-example

TypeScript
1
star
27

ngx-model-example

Simple example project of using ngx-model in Angular application
TypeScript
1
star
28

grunt-npm-install-all

Run npm install in all matching directories with package.json file (exclude package.json files in already installed node_modules directories)
JavaScript
1
star
29

ultimate-es6-migration-guide-modules

Ultimate ES6 / ES2015 migration guide - Modules - forward backward compatibility & caveats
JavaScript
1
star
30

avatarjs-hapijs-seed

Seed project for Avatar.js (running node.js in JVM) & hapi.js (node.js web app framework)
Batchfile
1
star
31

http-request-cancelation-example

TypeScript
1
star
32

Quado-server

Score sharing backend
JavaScript
1
star
33

angular2-typescript-webpack

Angular 2 Typescript Webpack starter project
TypeScript
1
star
34

angular-signals-effect

Created with StackBlitz โšก๏ธ
TypeScript
1
star
35

angular-elements-cd-example

TypeScript
1
star