All Projects → cmacdonnacha → angular-material-boilerplate

cmacdonnacha / angular-material-boilerplate

Licence: MIT license
A straightforward and well structured boilerplate based on Google's Angular Material project.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to angular-material-boilerplate

metadatamanagement
Metadatamanagement (MDM) - Data Search for Higher Education Research and Science Studies
Stars: ✭ 21 (-25%)
Mutual labels:  angularjs, jasmine, angular-material, karma
Protractor Pretty Html Reporter
A jasmine reporter that produces an easy to use html report to analyze protractor test results.
Stars: ✭ 9 (-67.86%)
Mutual labels:  jasmine, protractor, e2e-tests
brush
An amazing scaffolding for developing database-driven websites, applications and APIs. Built on Laravel Lumen Framework, MySQL and Angular.
Stars: ✭ 23 (-17.86%)
Mutual labels:  angularjs, gulp, angular-material
angular-unit-testing-examples
Showroom for different Angular unit testing concepts
Stars: ✭ 19 (-32.14%)
Mutual labels:  unit-testing, jasmine, karma
testing-angular-applications
Project for the Testing Angular Applications book
Stars: ✭ 99 (+253.57%)
Mutual labels:  jasmine, karma, protractor
Angularconcepts
Key Angular Concepts using Latest Angular version 5
Stars: ✭ 31 (+10.71%)
Mutual labels:  jasmine, angular-material, karma
Company Structure
A company structure with a list of projects and their users
Stars: ✭ 48 (+71.43%)
Mutual labels:  jasmine, angular-material, karma
Jasmine Matchers
Write Beautiful Specs with Custom Matchers for Jest and Jasmine
Stars: ✭ 552 (+1871.43%)
Mutual labels:  unit-testing, jasmine, karma
Semaphore Ng2 Webpack
Stars: ✭ 81 (+189.29%)
Mutual labels:  unit-testing, jasmine, karma
Generator Fountain Webapp
Yeoman 'fountain' generator to start a webapp
Stars: ✭ 985 (+3417.86%)
Mutual labels:  gulp, eslint, karma
generator-speedseed
Oriented to components, allow create/choice template, multiple configuration with easy maintenance
Stars: ✭ 13 (-53.57%)
Mutual labels:  gulp, jasmine, karma
Angularjs Webpack Starter
🚀 A modern frontend setup for AngularJS projects using NPM, TypeScript and Webpack.
Stars: ✭ 173 (+517.86%)
Mutual labels:  angularjs, jasmine, karma
react-ssr-spa
Server side rendered single page app using reactjs official libraries.
Stars: ✭ 30 (+7.14%)
Mutual labels:  gulp, eslint, karma
jasmine-styleguide
Suggested best practices when writing Jasmine unit tests.
Stars: ✭ 65 (+132.14%)
Mutual labels:  unit-testing, jasmine
Angular5 Seed
Angular5 Seed for Application
Stars: ✭ 222 (+692.86%)
Mutual labels:  angularjs, angular-material
project-manager-laravel
Project manager system - PHP and AngularJS
Stars: ✭ 17 (-39.29%)
Mutual labels:  angularjs, gulp
Ionic Starter Template
Reinventing the wheel, again! Sorry Ionic Team... but there are many newbies learning on Youtube!
Stars: ✭ 208 (+642.86%)
Mutual labels:  angularjs, gulp
angular-admin-panel
An Angular Admin boilerplate to quickly scaffold any large scale enterprise application.
Stars: ✭ 18 (-35.71%)
Mutual labels:  angularjs, karma
aurelia-typescript-boilerplate
A starter kit for building a standard navigation-style app with Aurelia, typescript and webpack by @w3tecch
Stars: ✭ 18 (-35.71%)
Mutual labels:  jasmine, e2e-tests
angular-cli-skeleton
angular-cli skeleton to quickly start a new project with advanced features and best practices. All features are described in README.md.
Stars: ✭ 32 (+14.29%)
Mutual labels:  karma, protractor

angular-material-boilerplate

A straightforward and well structured boilerplate based on Google's Angular Material project.

Features

  • Live reload
  • Organised folder structure
  • Minified CSS, HTML and JS build files
  • Minified images.
  • SASS support
  • Responsive layout
  • Mobile ready
  • Material Design Icons icons
  • Support for Unit & E2E Testing
  • Unit Test reporting
  • ESLint code analysis tool.
  • Jasmine testing framework
  • Karma test runner
  • Protractor end-to-end test framework

Live Demo

Check out the live demo

Setup

  1. Install Git and NodeJS
  2. git clone https://github.com/cmacdonnacha/angular-material-boilerplate.git myApp
  3. cd myApp
  4. npm install

Quick Usage

  • npm start : Creates a development build folder called public and serves it on: http://localhost:3000/
  • npm start --production : Creates a production ready folder called production and serves it on: http://localhost:4000/
  • npm test : Runs code checks, unit tests and E2E tests.
  • npm run unit : Runs unit tests only.
  • npm run e2e : Runs E2E tests only.
  • npm run eslint : Runs an ESLint code check only.
  • npm run coverage : Creates and serves the unit test coverage reports on: http://localhost:5000/
  • npm run build : Creates the public build folder but doesn't serve it.
  • npm run build --production : Creates the production build folder but doesn't serve it.

Project Structure

This project follows a "Folders-by-Feature" structure very similar to John Papa's Styleguide. From the screenshot below you can see that there are 6 separate features, a folder for each one. Each feature is treated as a mini Angular app. This structure allows us developers to easily locate code and identify what each file represents at a glance. By retaining this structure the project is much more manageable as it grows.

alt text

  • The app folder contains the following individual features:

    • about: Contains the about page related files.
    • layout: The high level layout container which stitches it all together.
    • shared: Contains all shared services, directives, styles etc. used across the entire app.
    • sidenav: Contains the sidenav related files.
    • todo: Contains the todo page related files.
    • toolbar: Contains the toolbar related files.
  • The assets folder contains all globally used images.

Adding a new feature folder

In the future I hope to automate the ability to create a new feature folder but for now, check out the wiki to see how you can go about adding one manually.

Troubleshooting

Even crème de menthe projects have their issues. Here are some problems you may face along with some suggestions on how to resolve them:

1. Issue: I'm getting the following error: "Error: EPERM or operation not permitted or permission denied"

This can happen when trying to delete a folder that's already in use. For example when running npm test while the npm start task is already running.

Suggestion:

  1. Stop any tasks that are already running and try again.

2. Issue: I'm getting the following error when running the npm test task: "No selenium server jar found at the specified location"

Suggestion:

  1. Run the following command and try again: npm run webdriver-update

3. Issue: I'm getting the following error while running the npm start task: "Error: ENOENT: no such file or directory, scandir 'C:....node_modeules\node-sass\vendor"

This can happen if you have changed your environment since first installing node-sass or if you are running an old version of node-sass.

Suggestion:

  1. Run this command: npm rebuild node-sass

4. Issue: None of the above have helped

Suggestion:

This project has been tested with the following tools:

  • NodeJs: 6.9.2
  • Npm: 3.10.9

If you are running into issues while installing node packages then ensure you have the versions above installed.


Contribute

Believe it or not, angular-material-boilerplate is not perfect. If you want to improve it somehow then by all means go ahead and create a pull request :-)

TODO

  • Add source maps
  • Automate ability to add new feature folder
  • Switch to Material SVG icons
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].