Code Monkey home page Code Monkey logo

cc's Introduction

Angular 8, NgRx and Angular Material Starter

by @tomastrajan

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 watch - runs tests in watch mode
  • npm run prettier - 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 cc 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 4 (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
Tomas Trajan

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

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

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

๐Ÿ’ป ๐Ÿ“–
Muhammad Umair
Muhammad Umair

๐Ÿ’ป
Phil Merrell
Phil Merrell

๐Ÿ’ป
Valery Kharshats
Valery Kharshats

๐Ÿ’ป ๐Ÿ›
Neil Pathare
Neil Pathare

๐Ÿ“–
Peter Krieg
Peter Krieg

๐Ÿ’ป ๐Ÿ›
Alex
Alex

๐Ÿ’ป ๐Ÿ›
Fiona
Fiona

๐Ÿ’ป ๐ŸŒ
Fabien Dehoprรฉ
Fabien Dehoprรฉ

๐Ÿ’ป ๐ŸŒ
Matias Iglesias
Matias Iglesias

๐Ÿ’ป ๐ŸŒ
Jeremy Kairis
Jeremy Kairis

๐Ÿ’ป ๐Ÿ›
Iago Andrade
Iago Andrade

๐Ÿ’ป ๐ŸŒ
aideslucas
aideslucas

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

๐Ÿ’ป โš ๏ธ
Laurentiu Amagdei
Laurentiu Amagdei

๐Ÿ’ป โš ๏ธ
Petar Djordjevic
Petar Djordjevic

๐Ÿ’ป
Zachary DeRose
Zachary DeRose

๐Ÿ’ป โš ๏ธ
erhise
erhise

๐Ÿ’ป โš ๏ธ
Joost Zรถllner
Joost Zรถllner

๐Ÿ’ป โš ๏ธ
Tomasz Kula
Tomasz Kula

๐Ÿ’ป โš ๏ธ ๐Ÿ›
Front-End Developer
Front-End Developer

๐Ÿ’ป ๐Ÿ›
Vishal Sodani
Vishal Sodani

๐Ÿ’ป ๐Ÿ”ง
Kosmas Schรผtz
Kosmas Schรผtz

๐Ÿ’ป ๐ŸŒ
huyen1990
huyen1990

โš ๏ธ
Chau (Joe) Nguyen
Chau (Joe) Nguyen

๐Ÿ’ป โš ๏ธ
Amadou Sall
Amadou Sall

๐Ÿ’ป
Dino
Dino

๐Ÿ”ง
Mathias Dรธhl
Mathias Dรธhl

๐Ÿ’ป
Carl in 't Veld
Carl in 't Veld

๐Ÿ’ป ๐Ÿ›
Abed Zantout
Abed Zantout

๐Ÿ’ป
Peng Wang
Peng Wang

๐Ÿ’ป ๐ŸŒ

cc's People

Contributors

1nv1n avatar abedzantout avatar aideslucas avatar angular-cli avatar arelav avatar chauey avatar cveld avatar dependabot-support avatar dinosourcesrex avatar doehl avatar erhise avatar flignats avatar grzegorzstanczyk avatar huyen1990 avatar joostme avatar kosmas58 avatar lau32 avatar matiasiglesias avatar mumairofficial avatar philmerrell avatar realtomaszkula avatar scheifi avatar shootermv avatar simply10w avatar terrystrachan avatar timdeschryver avatar tomastrajan avatar vishalsodani avatar wpcfan avatar zackderose avatar

cc's Issues

Action required: Greenkeeper could not be activated ๐Ÿšจ

๐Ÿšจ You need to enable Continuous Integration on Greenkeeper branches of this repository. ๐Ÿšจ

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didnโ€™t receive a CI status on the greenkeeper/initial branch, itโ€™s possible that you donโ€™t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how itโ€™s configured. Make sure it is set to run on all new branches. If you donโ€™t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, youโ€™ll need to re-trigger Greenkeeperโ€™s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.