diff --git a/.bowerrc b/.bowerrc
deleted file mode 100644
index 1f98498..0000000
--- a/.bowerrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "directory": "vendor",
- "json": "bower.json"
-}
-
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 7d3f714..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file is for unifying the coding style for different editors and IDEs.
-# More information at http://EditorConfig.org
-
-# No .editorconfig files above the root directory
-root = true
-
-[*]
-indent_style = space
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-# Use 2 spaces for indentation in HTML, JavaScript, Ruby, SCSS, and XML
-
-[*.{html,js,rb,css,scss,xml}]
-indent_size = 2
-
-# Use 4 spaces for indentation in Markdown files
-
-[*.md]
-indent_size = 2
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index b85482e..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "plugins": ["angular"],
-
- "env": {
- "browser": true,
- "node": true,
- "amd" : true,
- "mocha" : true,
- "jasmine" : true,
- "phantomjs" : true,
- "jquery" : true
- },
-
- "rules": {
- "strict": 0,
- "no-alert": 2,
- "no-caller": 2,
- "no-bitwise": 0,
- "no-console": 2,
- "no-debugger": 1,
- "no-empty": 1,
- "no-eval": 2,
- "no-ex-assign": 1,
- "no-floating-decimal": 0,
- "no-implied-eval": 1,
- "no-with": 1,
- "no-fallthrough": 1,
- "no-unreachable": 2,
- "no-underscore-dangle": 0,
- "no-undef-init": 1,
- "no-octal": 1,
- "no-obj-calls": 1,
- "no-new-wrappers": 1,
- "no-new": 1,
- "no-new-func": 1,
- "no-native-reassign": 1,
- "no-plusplus": 0,
- "no-delete-var": 1,
- "no-return-assign": 1,
- "no-new-object": 1,
- "no-label-var": 1,
- "no-ternary": 0,
- "no-self-compare": 0,
- "smarter-eqeqeq": 0,
- "brace-style": 1,
- "camelcase": 1,
- "curly": 1,
- "dot-notation": 1,
- "eqeqeq": 2,
- "new-parens": 1,
- "guard-for-in": 0,
- "radix": 0,
- "new-cap": 0,
- "quote-props": 0,
- "semi": 2,
- "use-isnan": 1,
- "quotes": [1, "single"],
- "max-params": [0, 3],
- "max-statements": [0, 10],
- "complexity": [0, 11],
- "wrap-iife": 1,
- "no-multi-str": 1,
- "no-multi-spaces": 1,
- "key-spacing": 0,
- "brace-style": 0,
- "no-unused-vars": 2,
- "no-shadow": 0,
- "no-undef": 1,
- "camelcase": 0,
- "comma-spacing": 1,
- "no-use-before-define": 0,
-
- // ANGULAR RULES
- "angular/controller-as": 0,
- "angular/typecheck-object": 0,
- "angular/timeout-service": 0,
- "angular/controller-as-vm": 0,
- "angular/controller-as-route": 0,
- "angular/controller-name": [1, "/[A-Z].*Controller|Ctrl$/"], //e.g HomeController or HomeCtrl
- "angular/on-watch": 0,
- "angular/di": 0
- },
-
- "globals": {
- "document": true,
- "window": true,
- "before": true,
- "beforeEach": true,
- "inject": true,
- "$log": true,
- "_": true,
- "after": true,
- "afterEach": true,
- "angular": true,
- "require": true,
- "module": true,
- "define": true,
- "brackets": true,
- "jQuery": true,
- "$": true,
- "Mustache": true,
- "CallManager": true,
- "getEncodedServerAddr": true,
- "log4javascript": true,
- "console": true,
- "atmosphere": true,
- "jasmine": true,
- "exports": true,
- "describe": true,
- "browser": true,
- "it": true,
- "by": true,
- "waits": true,
- "expect": true,
- "runs": true,
- "element": true,
- "waitsFor": true,
- "it": false,
- "xit": false,
- "describe": false,
- "xdescribe": false,
- "beforeEach": false,
- "afterEach": false,
- "expect": false,
- "spyOn": false
- }
-
-}
-
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c230dcd..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-.DS_Store
-.idea/
-.sass-cache/
-npm-debug.log
-junit-report.xml
-tmp/
-build/
-public/
-node_modules/
-reports/
-coverage/
-vendor/
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index 8cde42a..0000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,769 +0,0 @@
-/* eslint-disable */
-
-module.exports = function (grunt) {
-
- /*
- * Load required Grunt tasks. These are installed based on the versions listed
- * in `package.json` when you do `npm install` in this directory.
- */
- grunt.loadNpmTasks('grunt-contrib-clean');
- grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.loadNpmTasks('grunt-contrib-concat');
- grunt.loadNpmTasks('grunt-contrib-watch');
- grunt.loadNpmTasks('grunt-contrib-uglify');
- grunt.loadNpmTasks('grunt-ng-annotate');
- grunt.loadNpmTasks('grunt-contrib-htmlmin');
- grunt.loadNpmTasks('grunt-express');
- grunt.loadNpmTasks('grunt-karma');
- grunt.loadNpmTasks('grunt-html2js');
- grunt.loadNpmTasks('grunt-run');
- grunt.loadNpmTasks('grunt-newer');
- grunt.loadNpmTasks('grunt-continue');
- grunt.loadNpmTasks('grunt-eslint');
- grunt.loadNpmTasks('grunt-sass');
-
- /*
- * Load in our JavaScript Libraries
- */
- var vendorConfig = require('./vendor.config.js');
-
- /*
- * Load in our build configuration
- */
- var userConfig = {
- /*
- * The `dev_build_dir` folder is where our projects are compiled during
- * development and the `prod_build_dir` folder is where our app resides once it's
- * completely built.
- */
- dev_build_dir: 'public',
- prod_build_dir: 'production',
-
- /*
- * This is a collection of file patterns that refer to our app source code
- */
- app_files: {
- js: ['src/app/**/*.js', '!src/app/**/*.spec.js', '!src/app/**/*.e2e.js', '!src/assets/**/*.js'],
- jsunit: ['src/app/**/*.spec.js'],
- e2e: ['src/app/**/*.e2e.js'],
- atpl: ['src/app/**/*.tpl.html'],
- html: ['src/index.html'],
- sass: 'src/styles/main.scss'
- },
-
- /*
- * Configure the JavaScript vendor files
- */
- vendor_files: vendorConfig
-
- };
-
- /*
- * This is the configuration object Grunt uses to give each plugin its
- * instructions.
- */
- var taskConfig = {
- /*
- * We read in our `package.json` file so we can access the package name and
- * version. It's already there, so we don't repeat ourselves here.
- */
- pkg: grunt.file.readJSON('package.json'),
-
- /*
- * The banner is the comment that is placed at the top of our compiled
- * source files. It is first processed as a Grunt template, where the `<%=`
- * pairs are evaluated based on this very configuration object.
- */
- meta: {
- banner: '/**\n' +
- ' * <%= pkg.name %> v<%= pkg.version %> <%= grunt.template.today("dd-mm-yyyy") %>\n' +
- ' * <%= pkg.homepage %>\n' +
- ' *\n' +
- ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
- ' */\n'
- },
-
- /*
- * The directories to delete when `grunt clean` is executed.
- */
- clean: {
- build: {
- src: ['<%= dev_build_dir %>', 'reports/'],
- options: {
- force: true
- }
- },
- compile: {
- src: ['<%= prod_build_dir %>'],
- options: {
- force: true
- }
- }
- },
-
- /*
- * The `copy` task just copies files from A to B. We use it here to copy
- * our project assets (images, fonts, etc.) and Javascript files into
- * `dev_build_dir`, and then to copy the assets to `prod_build_dir`.
- */
- copy: {
- build_module_assets: {
- files: [
- {
- dest: '<%= dev_build_dir %>/assets/',
- src: ['src/app/**/assets/**/*.*'],
- cwd: '.',
- expand: true,
- flatten: true
- }
- ]
- },
-
- build_app_assets: {
- files: [
- {
- src: ['**'],
- dest: '<%= dev_build_dir %>/assets/',
- cwd: 'src/assets',
- expand: true
- }
- ]
- },
- build_appjs: {
- files: [
- {
- src: ['<%= app_files.js %>'],
- dest: '<%= dev_build_dir %>/',
- cwd: '.',
- expand: true
- }
- ]
- },
- build_vendorjs: {
- files: [
- {
- src: ['<%= vendor_files.js %>'],
- dest: '<%= dev_build_dir %>/',
- cwd: '.',
- expand: true
- }
- ]
- },
- compile_assets: {
- files: [
- {
- src: ['**'],
- dest: '<%= prod_build_dir %>/assets',
- cwd: '<%= dev_build_dir %>/assets',
- expand: true
- }
- ]
- }
- },
-
- /*
- * `grunt concat` concatenates multiple source files into a single file.
- */
- concat: {
-
- /*
- * The `build_css` target concatenates compiled CSS and vendor CSS
- * together.
- */
- build_css: {
- src: [
- '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css'
- ],
- dest: '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css'
- },
-
- /*
- * The `compile_js` target is the concatenation of our application source
- * code and all specified vendor source code into a single file.
- */
- compile_js: {
-
- options: {
- banner: '<%= meta.banner %>'
- },
-
- /*
- * Wraps all javascript app code into a closure
- * to prevent polluting the global namespace
- */
- src: [
- '(function ( window, angular, undefined ) {',
- '<%= vendor_files.js %>',
- '<%= dev_build_dir %>/src/**/*.js',
- '<%= html2js.app.dest %>',
- '})( window, window.angular );'
- ],
- dest: '<%= prod_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.js'
- }
- },
-
- /*
- * `ngAnnotate` annotates the sources before minifying. That is, it allows us
- * to code without the array syntax.
- */
- ngAnnotate: {
- compile: {
- files: [
- {
- src: ['<%= app_files.js %>'],
- cwd: '<%= dev_build_dir %>',
- dest: '<%= dev_build_dir %>',
- expand: true
- }
- ]
- }
- },
-
- /*
- * Minify the sources!
- */
- uglify: {
- compile: {
- files: {
- '<%= concat.compile_js.dest %>': '<%= concat.compile_js.dest %>'
- }
- }
- },
-
- /*
- * This task handles our SASS compilation and uglification automatically.
- * Only our `main.scss` file is included in compilation. All other files
- * must be imported from this file.
- */
- sass: {
- build: {
- options: {
- sourceMap: true,
- outputStyle: 'expanded'
- },
- files: {
- '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css': '<%= app_files.sass %>'
- }
- },
- compile: {
- options: {
- sourceMap: false,
- outputStyle: 'compressed'
- },
- files: {
- '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css': '<%= app_files.sass %>'
- }
- }
- },
-
- /*
- * HTMLMIN is a Grunt plugin that takes all of your html template files and
- * and minifies them by removing comments, white spaces, etc.
- * This plugin is used in combination with the 'html2js' and it's called before
- * to minimise the html before is put in the AngularJS templateCache.
- */
- htmlmin: {
- index: { // Selects only the main 'index.html' file
- options: { // Target options
- removeComments: true, // Strip HTML comments
- removeCommentsFromCDATA: true, // Strip HTML comments from scripts and styles
- minifyJS: true, // Minify JavaScript inside script tags
- collapseWhitespace: true // Remove white spaces
- },
- files: {
- '<%= prod_build_dir %>/index.html': '<%= prod_build_dir %>/index.html'
- }
- }
- },
-
- /*
- * HTML2JS is a Grunt plugin that takes all of your template files and
- * places them into JavaScript files as strings that are added to
- * AngularJS's template cache. This means that the templates too become
- * part of the initial payload as one JavaScript file. Neat!
- */
- html2js: {
- /*
- * These are the templates from `src/app`.
- */
- app: {
- options: {
- module: 'app.templates',
- quoteChar: '\'',
- fileHeaderString: '/* eslint-disable */',
- fileFooterString: '/* eslint-enable */',
- base: 'src/app'
- },
- src: ['<%= app_files.atpl %>'],
- dest: '<%= dev_build_dir %>/app.templates.js'
- },
-
- /*
- * These are the minified templates
- */
- min: {
- options: {
- module: 'app.templates',
- quoteChar: '\'',
- fileHeaderString: '/* eslint-disable */',
- fileFooterString: '/* eslint-enable */',
- base: 'src/app',
- htmlmin: {
- collapseBooleanAttributes: true,
- collapseWhitespace: true,
- removeAttributeQuotes: true,
- removeComments: true,
- removeEmptyAttributes: true,
- removeRedundantAttributes: true,
- removeScriptTypeAttributes: true,
- removeStyleLinkTypeAttributes: true
- }
- },
- src: ['<%= app_files.atpl %>'],
- dest: '<%= dev_build_dir %>/app.templates.js'
- }
-
- },
-
- /*
- * The Karma configurations.
- */
- karma: {
- options: {
- configFile: '<%= dev_build_dir %>/karma-unit.js'
- },
- continuous: {
- singleRun: true
- }
- },
-
- /*
- * This task compiles the karma template so that changes to its file array
- * don't have to be managed manually.
- */
- karmaconfig: {
- unit: {
- dir: '<%= dev_build_dir %>',
- src: ['<%= vendor_files.js %>', '<%= html2js.app.dest %>']
- }
- },
-
- parseUnit: {
- all: {
- dir: '<%= dev_build_dir %>',
- src: ['<%= app_files.jsunit %>']
- }
- },
-
- parseE2E: {
- all: {
- dir: '<%= dev_build_dir %>',
- src: ['<%= app_files.e2e %>']
- }
- },
-
- /*
- * The `index` task compiles the `index.html` file as a Grunt template. CSS
- * and JS files co-exist here but they get split apart later.
- */
- index: {
-
- /*
- * During development, we don't want to have wait for compilation,
- * concatenation, minification, etc. So to avoid these steps, we simply
- * add all script files directly to the `
` of `index.html`. The
- * `src` property contains the list of included files.
- */
- build: {
- dir: '<%= dev_build_dir %>',
- src: [
- '<%= vendor_files.js %>',
- '<%= dev_build_dir %>/src/**/*.js',
- '<%= html2js.app.dest %>',
- '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css'
- ]
- },
- /*
- * When it is time to have a completely compiled application, we can
- * alter the above to include only a single JavaScript and a single CSS
- * file. Now we're back!
- */
- compile: {
- dir: '<%= prod_build_dir %>',
- src: [
- '<%= concat.compile_js.dest %>',
- '<%= dev_build_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css'
- ]
- }
- },
-
- /*
- * Configure Express server --port 9000
- */
- express: {
- development: {
- options: {
- port: 9000,
- //hostname: 'localhost',
- serverreload: false,
- bases: '<%= dev_build_dir %>',
- livereload: true
- }
- },
- production: {
- options: {
- port: 9000,
- serverreload: false,
- bases: '<%= prod_build_dir %>',
- livereload: false
- }
- }
- },
-
- /*
- * This task allows Grunt to run external tools (e.g. nodejs, serve, etc)
- */
- run: {
- public: {
- exec: 'serve --cors --port 31000 ' + '<%= dev_build_dir %>/'
- },
- production: {
- exec: 'serve --cors --port 32000 ' + '<%= prod_build_dir %>/'
- },
- reports: {
- exec: 'serve --port 22000 reports/coverage/lcov-report'
- },
- protractor: {
- exec: 'protractor protractor.config.js'
- }
- },
-
- eslint: {
- options: {
- configFile: '.eslintrc',
-
- /* Available formats: stylish, compact, checkstyle, junit, */
- format: 'stylish'
- },
- target: ['src/app/**/*.js', '!src/app/**/*.spec.js', '!src/app/**/*.e2e.js']
- },
-
- /*
- * And for rapid development, we have a watch set up that checks to see if
- * any of the files listed below change, and then to execute the listed
- * tasks when they do. This just saves us from having to type 'grunt' into
- * the command-line every time we want to see what we're working on; we can
- * instead just leave 'grunt watch' running in a background terminal.
- *
- * But we don't need the same thing to happen for all the files.
- */
- delta: {
- /*
- * When our JavaScript source files change, we want to run lint them and
- * run our unit tests.
- */
- jssrc: {
- files: ['<%= app_files.js %>'],
- /*
- * Changes are detected but unit tests are not run
- * this creates faster live reload sessions
- */
- tasks: ['newer:eslint', 'newer:copy:build_appjs' ],
- options: {
- spawn: false,
- livereload: true
- }
- },
-
- /*
- * When a JavaScript unit test file changes, we only want to lint it and
- * run the unit tests. We don't want to do any live reloading.
- */
- jsunit: {
- files: [
- '<%= app_files.jsunit %>'
- ],
- tasks: [ 'newer:eslint', 'karmaconfig:unit', 'karma:continuous'],
- options: {
- spawn: false,
- livereload: false
- }
- },
-
- e2e: {
- files: ['<%= app_files.e2e %>'],
- tasks: ['newer:eslint', 'run:protractor'],
- options: {
- spawn: false,
- livereload: false
- }
- },
-
- /*
- * When assets are changed, copy them. Note that this will *not* copy new
- * files, so this is probably not very useful.
- */
- assets: {
- files: ['src/assets/**/*'],
- tasks: ['newer:copy:build_app_assets'],
- options: {
- spawn: false,
- livereload: true
- }
- },
-
- /*
- * When index.html changes, we need to compile it.
- */
- html: {
- files: ['<%= app_files.html %>'],
- tasks: ['index:build'],
- options: {
- spawn: false,
- livereload: true
- }
- },
-
- /*
- * When our templates change, we only rewrite the template cache.
- */
- tpls: {
- files: ['<%= app_files.atpl %>'],
- tasks: [ 'html2js:app' ],
- options: {
- spawn: false,
- livereload: true
- }
- },
-
- /*
- * When any SASS or CSS changes, we need to compile them.
- */
- sass: {
- files: ['src/**/*.scss'],
- tasks: ['sass:build'],
- options: {
- spawn: false,
- livereload: true
- }
- }
-
- }
-
- };
-
- /*
- * Track how long each task takes to run, used to optimize
- * grunt build times
- */
- require('time-grunt')(grunt);
-
- /*
- * Use this function to catch events when watch is called:
- *
- * grunt.event.on('watch', function(action, filepath) {
- * grunt.log.write('message to console');
- * });
- */
-
- grunt.initConfig(grunt.util._.extend(taskConfig, userConfig));
-
- /*
- * In order to make it safe to just compile or copy *only* what was changed,
- * we need to ensure we are starting from a clean, fresh build. So we rename
- * the `watch` task to `delta` (that's why the configuration var above is
- * `delta`) and then add a new task called `watch` that does a clean build
- * before watching for changes.
- */
- grunt.renameTask('watch', 'delta');
- grunt.registerTask('watch', ['development', 'express:development', 'delta']);
-
- /*
- * Register our own grunt tasks. The default task is the development build
- */
- grunt.registerTask('default', ['development']);
- grunt.registerTask('deploy', ['production', 'copy:deploy']);
-
- /*
- * The `build` task gets your app ready to run for development and testing.
- */
- grunt.registerTask('development', [
- 'clean:build',
- 'html2js:app',
- 'eslint',
- 'sass:build',
- 'concat:build_css',
- 'copy:build_app_assets', 'copy:build_module_assets',
- 'copy:build_appjs',
- 'copy:build_vendorjs', 'index:build'
- ]);
-
- /*
- * Run E2E tests
- */
- grunt.registerTask('run:e2e', [
- 'express:development',
- 'run:protractor'
- ]);
-
- /*
- * Run unit tests
- */
- grunt.registerTask('run:unit', [
- 'karmaconfig',
- 'karma:continuous'
- ]);
-
- /*
- * Creates and runs code coverage reports.
- */
- grunt.registerTask('reports', [
- 'run:unit',
- 'run:reports'
- ]);
-
- /*
- * This task runs code checks (ESLint), Unit Tests and E2E tests.
- * It produces reports on code coverage and unit test results.
- * Reports are stored in a 'reports' folder.
- */
- grunt.registerTask('test', [
- 'clean:build',
- 'eslint',
- 'html2js:app',
- 'sass:build',
- 'concat:build_css',
- 'copy:build_app_assets', 'copy:build_module_assets',
- 'copy:build_appjs', 'copy:build_vendorjs', 'index:build',
- 'run:unit',
- 'run:e2e'
- ]);
-
- /*
- * The `production` task gets your app ready for deployment by concatenating and
- * minifying your code.
- */
- grunt.registerTask('production', [
- 'clean:build',
- 'clean:compile',
- 'html2js:min',
- 'test',
- 'sass:compile',
- 'concat:build_css',
- 'copy:build_app_assets',
- 'copy:build_module_assets',
- 'copy:build_appjs',
- 'copy:build_vendorjs',
- 'index:build',
- 'copy:compile_assets',
- 'ngAnnotate',
- 'concat:compile_js',
- 'uglify',
- 'index:compile',
- 'htmlmin:index'
- ]);
-
- /*
- * A utility function to get all app JavaScript sources.
- */
- function filterForJS(files) {
- return files.filter(function (file) {
- return file.match(/\.js$/);
- });
- }
-
- /*
- * A utility function to get all app CSS sources.
- */
- function filterForCSS(files) {
- return files.filter(function (file) {
- return file.match(/\.css$/);
- });
- }
-
- /*
- * A utility function to get all app unit tests
- */
- function filterForSpecFiles(files) {
- return files.filter(function (file) {
- return file.match(/\.spec.js$/);
- });
- }
-
- /*
- * A utility function to get all app unit tests
- */
- function filterForE2EFiles(files) {
- return files.filter(function (file) {
- return file.match(/\.e2e.js$/);
- });
- }
-
- /*
- * The index.html template includes the stylesheet and javascript sources
- * based on dynamic names calculated in this Gruntfile. This task assembles
- * the list into variables for the template to use and then runs the
- * compilation.
- */
- grunt.registerMultiTask('index', 'Process index.html template', function () {
- var dirRE = new RegExp('^(' + grunt.config('dev_build_dir') + '|' + grunt.config('prod_build_dir') + ')\/', 'g');
-
- var jsFiles = filterForJS(this.filesSrc).map(function (file) {
- return file.replace(dirRE, '');
- });
-
- var cssFiles = filterForCSS(this.filesSrc).map(function (file) {
- return file.replace(dirRE, '');
- });
-
- grunt.file.copy('src/index.html', this.data.dir + '/index.html', {
- process: function (contents, path) {
- return grunt.template.process(contents, {
- data: {
- scripts: jsFiles,
- styles: cssFiles,
- version: grunt.config('pkg.version'),
- author: grunt.config('pkg.author'),
- date: grunt.template.today("yyyy")
- }
- });
- }
- });
- });
-
- /*
- * In order to avoid having to specify manually the files needed for karma to
- * run, we use grunt to manage the list for us. The `karma/*` files are
- * compiled as grunt templates for use by Karma. Yay!
- */
- grunt.registerMultiTask('karmaconfig', 'Process karma config templates', function () {
- var scripts = filterForJS(this.filesSrc);
-
- grunt.file.copy('karma/karma-unit.tpl.js', grunt.config('dev_build_dir') + '/karma-unit.js', {
- process: function (contents, path) {
- return grunt.template.process(contents, {
- data: {
- scripts: scripts
- }
- });
- }
- });
-
- });
-
- grunt.registerMultiTask('parseUnit', 'Parse unit test files', function () {
- var jsFiles = filterForSpecFiles(this.filesSrc);
-
- grunt.log.writeln('Unit test files:');
- grunt.log.writeln(JSON.stringify(jsFiles));
- });
-
- grunt.registerMultiTask('parseE2E', 'Parse E2E test file', function () {
- var jsFiles = filterForE2EFiles(this.filesSrc);
-
- grunt.log.writeln('E2E test files:');
- grunt.log.writeln(JSON.stringify(jsFiles));
- });
-
-};
-/* eslint-enable */
diff --git a/LICENSE.md b/LICENSE.md
deleted file mode 100644
index 62798ad..0000000
--- a/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2015 Cathal Mac Donnacha
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 21dfcb1..0000000
--- a/README.md
+++ /dev/null
@@ -1,179 +0,0 @@
-# angularjs-foundation-boilerplate
-A simple and well structured boilerplate project based on AngularJS and Zurb's Foundation
-
-## Features
-* Responsive layout
-* Mobile ready
-* SASS support
-* Grunt watch, build and local server tasks
-* Live reload
-* Organised folder structure
-* Minified CSS, HTML and JS build files
-* [Font Awesome](http://fortawesome.github.io/Font-Awesome/icons/) icons
-* Support for Unit & E2E Testing
-* Unit Test reporting
-* ESLint to detect incorrect coding patterns.
-* [Jasmine](http://jasmine.github.io/2.3/introduction.html) testing framework
-* [Karma](http://karma-runner.github.io/0.13/index.html) test runner
-* [Protractor](https://angular.github.io/protractor/#/) end-to-end test framework
-
-## Live Demo
-[Check out the live demo](http://cmacdonnacha.github.io/angularjs-foundation-boilerplate/)
-
-## Setup
-1. Install [Git](https://git-scm.com/downloads) and [NodeJS](http://nodejs.org/)
-2. Install Grunt and Bower globally: `npm install -g grunt-cli bower`
-3. Install Karma globally: `npm install -g karma`
-4. Install PhantomJS headless browser globally: `npm install -g phantomjs`
-5. Install Protractor globally: `npm install -g protractor`
-6. Install Selenium web driver binaries by running: `webdriver-manager update` (installs the Chrome driver by default)
-7. Install a local Http server: `npm install -g serve` (for local web testing)
-
-**NOTE:** If you have previous versions of any of the above packages, it's recommended that you update them: `npm update -g`
-
-## Install Project Dependencies
-1. `git clone https://github.com/cmacdonnacha/angularjs-foundation-boilerplate.git myApp`
-2. `cd myApp`
-3. `npm install` - this installs both the required NodeJS modules and the bower component libraries.
-
-**IMPORTANT:** If you run into any issues please have a look at the **"Troubleshooting"** section at the bottom of this page.
-
-## Quick Usage
-* `grunt watch` : Creates a development build folder called 'public' and serves it on: [`http://localhost:9000/`](http://localhost:9000/)
-* `grunt test` : Runs code checks, unit tests and E2E tests
-* `grunt run:unit` : Runs unit tests only
-* `grunt run:e2e` : Runs E2E tests only
-* `grunt production` : Creates a production build in a folder called **'production'**
-* `grunt run:production` : Serves the **'production'** build on: [`http://localhost:9000/`](http://localhost:9000/) if it exists.
-* `grunt eslint` : Runs an ESLint code check
-
-## Running unit test reports
-1. `grunt reports`: will create and serve the **'reports'** folder
-2. Navigate to [`http://localhost:22000/`](http://localhost:22000/)
-
-## Project Structure
-This project follows a **"Folders-by-Feature"** structure very similar to [John Papa's Styleguide](https://github.com/johnpapa/angular-styleguide#application-structure). From the folder structure below you can see that there are 6 separate components, a folder for each one.
-Each component 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.
-
-
-
-* The `app` folder contains the individual components:
- * `about`: Contains the about page related files.
- * `common`: Contains all common services, directives etc. used across the entire app.
- * `home`: Contains the home page related files.
- * `layout`: Acts as a container for other layout components (about, home, topbar etc.)
- * `sample`: A template component that can be duplicated whenever you want to create your own component (Copy and paste).
- * `topbar`: Contains the topbar related files.
-
-
-* Each component has its own sub-folder containing files associated with that component:
- * assets
- * controllers
- * directives
- * e2e tests
- * services
- * styles
- * unit tests
- * views
-
- **Note:** Not every component will contain all of these sub-folders, just add them as you need them.
-* The `assets` folder contains the globally used fonts and images.
-* The `styles` folder contains all of the global sass files needed to style the app. Let's have a closer look at each file:
-
- * `_font-awesome.scss`: Contains all of the font awesome icons taken from the `vendor/font-awesome` folder. Check [this](http://fortawesome.github.io/Font-Awesome/icons/) out to see all available icons.
- * `_mixins.scss`: This is where you can put your very own Sass Mixins that can be used globally throughout the app. This should only contain Mixins.
- * `_settings.scss`: Allows you to override the default Foundation styles with your own. This is detailed in a section below.
- * `_shared.scss`: This is where you can put your very own Sass that can be used globally throughout the app. Typically it's where you would add globally used Sass classes which would then use mixins from the `_mixins.scss` file.
- * `main.scss`: Brings everything together. Contains all of the Sass file imports. It's what tells the app where to grab the styles from.
-
-#### Adding a new component
-As you can see in this boilerpate project we have 6 sample components: `about`, `common`, `home`, `layout`, `sample` and `topbar`. Check out the [wiki](https://github.com/cmacdonnacha/angularjs-foundation-boilerplate/wiki/How-to-add-a-new-component) to see how you can go about adding your very own component.
-
-## Making Foundation Styles your own
-Foundation is great because it comes with basic styling, leaving it up to you to give it your very own touch. You can do this by changing the `_settings.scss` file inside the `styles` folder:
-
-
-
-Simply uncomment any of the sections in the `_settings.scss` file and you will override the default Foundation styling. Don't like the color of the topbar? No problem, change to a nice bright pink instead. Find out more [here.](http://foundation.zurb.com/docs/using-sass.html)
-
-## 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 when running `npm install`: ***"Error: EPERM or operation not permitted or permission denied"***
-This error means that NPM was not able to install one of the node modules to the file system. There are three major reasons why this could happen:
-
-* You don't have write access to the installation directory.
-* The permissions in the NPM cache got messed up.
-* You have over-zealous anti-virus software installed, and it's blocking file system writes.
-
-**Suggestion:**
-
-1. Run `npm cache clean`.
-2. Run `npm install` again.
-
-#### 2. Issue: I'm getting the following error when running `npm install`: ***"Error: Can't find Python executable 'python', you can set the PYTHON env variable."***
-**Suggestion:** This error can be ignored (it's a warning really) as the node modules will install successfully anyway. The reason this error appears is because
-some node modules have dependencies on a clunky build tool called `node-gyp` that compiles C++ extensions for NodeJS, and it requires python. Long story short,
-if you don't have Python installed on your machine you will see these errors but it's nothing to worry about.
-
-#### 3. Issue: I'm getting an error when running the `grunt production` task.
-**Suggestion:** Make sure you have administrator permissions to delete folders from the directory. If you're still seeing the issue then manually delete the `production` folder and run `grunt production` again.
-
-
-
-#### 4. Issue: I'm getting the following error when running the `grunt test` task: ***"No selenium server jar found at the specified location"***
-**Suggestion:** Run the following command and try again: `webdriver-manager update`
-
-
-
-#### 5. Issue: I'm still getting an error when running the `grunt test` task.
-**Suggestion:** Make sure you have Java installed. Close and re-launch the command line and try again.
-
-
-
-#### 6. Issue: I'm getting the following error ***"Error: Cannot find module 'stylus'"***
-**Suggestion:** Run the following command: `npm install stylus -g`
-
-
-
-#### 7. Issue: I'm getting the following error when running the `grunt watch` task: ***"Error: 'libsass' bindings" not found. Try reinstalling 'node-sass'***
-**Suggestion:** Run the following command: `npm install grunt-sass`
-
-
-
-#### 8. Issue: Bower hangs and cannot fetch the libraries when running `npm install`
-**Suggestion:**
-Set Git global options to fetch components over 'https' instead of 'git' by running the following command:
-`git config --global url."https://".insteadOf git://`
-
-
-
-#### 9. Issue: None of the above solutions have helped
-**Suggestion 1:**
-
-1. Stop the `grunt watch` task.
-2. Run `grunt clean`
-3. Run `grunt watch` again.
-
-**Suggestion 2:**
-
-This project has been tested with the following tools:
-* **NodeJs:** 4.2.1
-* **Npm:** 2.14.7
-
-If you are running into issues while installing node packages then ensure you have the versions above installed.
-
-## Contribute
-Believe it or not, **angularjs-foundation-boilerplate** is not perfect. If you want to improve it somehow then by all means go ahead and create a pull request :-)
-
-## Changelog
-### 1.0.1
-**06/11/2015**
-* Updated font awesome icons
-* Reduced size of favicon
-* Updated grunt file
-
-### 1.0.0
-**30/10/2015**
-* Initial Release
diff --git a/production/assets/angularjs-foundation-boilerplate-1.0.0.css b/assets/angularjs-foundation-boilerplate-1.0.0.css
similarity index 100%
rename from production/assets/angularjs-foundation-boilerplate-1.0.0.css
rename to assets/angularjs-foundation-boilerplate-1.0.0.css
diff --git a/production/assets/angularjs-foundation-boilerplate-1.0.0.css.map b/assets/angularjs-foundation-boilerplate-1.0.0.css.map
similarity index 100%
rename from production/assets/angularjs-foundation-boilerplate-1.0.0.css.map
rename to assets/angularjs-foundation-boilerplate-1.0.0.css.map
diff --git a/production/assets/angularjs-foundation-boilerplate-1.0.0.js b/assets/angularjs-foundation-boilerplate-1.0.0.js
similarity index 100%
rename from production/assets/angularjs-foundation-boilerplate-1.0.0.js
rename to assets/angularjs-foundation-boilerplate-1.0.0.js
diff --git a/production/assets/fonts/FontAwesome.otf b/assets/fonts/FontAwesome.otf
similarity index 100%
rename from production/assets/fonts/FontAwesome.otf
rename to assets/fonts/FontAwesome.otf
diff --git a/production/assets/fonts/fontawesome-webfont.eot b/assets/fonts/fontawesome-webfont.eot
similarity index 100%
rename from production/assets/fonts/fontawesome-webfont.eot
rename to assets/fonts/fontawesome-webfont.eot
diff --git a/production/assets/fonts/fontawesome-webfont.svg b/assets/fonts/fontawesome-webfont.svg
similarity index 100%
rename from production/assets/fonts/fontawesome-webfont.svg
rename to assets/fonts/fontawesome-webfont.svg
diff --git a/production/assets/fonts/fontawesome-webfont.ttf b/assets/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from production/assets/fonts/fontawesome-webfont.ttf
rename to assets/fonts/fontawesome-webfont.ttf
diff --git a/production/assets/fonts/fontawesome-webfont.woff b/assets/fonts/fontawesome-webfont.woff
similarity index 100%
rename from production/assets/fonts/fontawesome-webfont.woff
rename to assets/fonts/fontawesome-webfont.woff
diff --git a/production/assets/fonts/fontawesome-webfont.woff2 b/assets/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from production/assets/fonts/fontawesome-webfont.woff2
rename to assets/fonts/fontawesome-webfont.woff2
diff --git a/production/assets/foundation-yeti.png b/assets/foundation-yeti.png
similarity index 100%
rename from production/assets/foundation-yeti.png
rename to assets/foundation-yeti.png
diff --git a/production/assets/images/foundation-fav-icon.ico b/assets/images/foundation-fav-icon.ico
similarity index 100%
rename from production/assets/images/foundation-fav-icon.ico
rename to assets/images/foundation-fav-icon.ico
diff --git a/bower.json b/bower.json
deleted file mode 100644
index 61bbb0d..0000000
--- a/bower.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "angularjs-foundation-boilerplate",
- "version": "1.0.0",
- "author": "Cathal Mac Donnacha",
- "description": "A simple and well structured boilerplate project based on AngularJS and Zurb's Foundation",
- "license": "MIT",
- "dependencies": {},
- "devDependencies": {
- "angular": "~1.3.4",
- "angular-mocks": "~1.3.4",
- "angular-resource": "~1.3.4",
- "angular-ui-router": "~0.2.15",
- "angular-local-storage": "~0.2.2",
- "jquery": "~2.1.3",
- "animate.css": "~3.4.0",
- "font-awesome": "~4.4.0",
- "underscore": "~1.8.3",
- "foundation": "~5.5.3"
- },
- "keywords": [
- "angular",
- "foundation",
- "foundation for sites",
- "angularjs",
- "boilerplate",
- "starter",
- "front-end",
- "zurb"
- ]
-}
diff --git a/production/index.html b/index.html
similarity index 100%
rename from production/index.html
rename to index.html
diff --git a/karma/karma-unit.tpl.js b/karma/karma-unit.tpl.js
deleted file mode 100644
index d5188e0..0000000
--- a/karma/karma-unit.tpl.js
+++ /dev/null
@@ -1,80 +0,0 @@
-/* eslint-disable */
-
-module.exports = function ( karma ) {
- karma.set({
- /**
- * From where to look for files, starting with the location of this file.
- */
- basePath: '../',
-
- /**
- * This is the list of file patterns to load into the browser during testing.
- */
- files: [ <% scripts.forEach( function ( file ) { %> '<%= file %>', <% }); %> 'src/app/**/*.js'],
-
- exclude: ['src/app/**/*.e2e.js', 'src/assets/**/*.js'],
-
- frameworks: [ 'jasmine' ],
-
- plugins: [ 'karma-jasmine', 'karma-phantomjs-launcher', 'karma-coverage', 'karma-junit-reporter' ],
-
- preprocessors: {
-
- /**
- * Exclude unit test code from the coverage report
- */
- 'src/**/!(*spec).js': ['coverage']
- },
-
- /**
- * Configure the reporters
- */
- reporters: ['progress', 'coverage', 'junit'],
-
- junitReporter: {
- outputFile: 'reports/junit/junit-report.xml',
- suite: ''
- },
-
- coverageReporter: {
- type : 'lcov',
- dir : 'reports',
- subdir: 'coverage'
- },
-
- /**
- * On which port should the browser connect, on which port is the test runner
- * operating, and what is the URL path for the browser to use.
- */
- colors: true,
- port: 9018,
- runnerPort: 9100,
- urlRoot: '/',
-
- /**
- * Log Level
- * Possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
- */
- logLevel: karma.LOG_DISABLE,
-
- /**
- * Disable file watching by default.
- */
- singleRun: false,
- autoWatch: false,
-
- /**
- * The list of browsers to launch to test on. This includes only "Firefox" by
- * default, but other browser names include:
- * Chrome, ChromeCanary, Firefox, Opera, Safari, PhantomJS
- *
- * You may also leave this blank and manually navigate your browser to
- * http://localhost:9018/ when you're running tests. The window/tab can be left
- * open and the tests will automatically occur there during the build. This has
- * the aesthetic advantage of not launching a browser every time you save.
- */
- browsers: ['PhantomJS']
-
- });
-};
-/* eslint-enable */
diff --git a/package.json b/package.json
deleted file mode 100644
index b940f09..0000000
--- a/package.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "author": "Cathal Mac Donnacha",
- "name": "angularjs-foundation-boilerplate",
- "version": "1.0.0",
- "license": "MIT",
- "docs": "",
- "description": "A simple and well structured boilerplate project based on AngularJS and Zurb's Foundation",
- "licenses": {
- "type": "",
- "url": ""
- },
- "repository": {
- "type": "git",
- "url": ""
- },
- "dependencies": {},
- "devDependencies": {
- "eslint": "^1.7.3",
- "eslint-plugin-angular": "^0.13.0",
- "grunt": "^0.4.5",
- "grunt-cli": "^0.1.13",
- "grunt-continue": "^0.1.0",
- "grunt-ng-annotate": "^1.0.1",
- "grunt-contrib-clean": "^0.6.0",
- "grunt-contrib-compass": "^1.0.2",
- "grunt-contrib-concat": "^0.5.0",
- "grunt-contrib-copy": "^0.8.0",
- "grunt-contrib-htmlmin": "^0.6.0",
- "grunt-contrib-uglify": "^0.10.0",
- "grunt-contrib-watch": "^0.6.1",
- "grunt-eslint": "^17.3.1",
- "grunt-express": "^1.4.1",
- "grunt-html2js": "^0.3.0",
- "grunt-karma": "^0.12.1",
- "grunt-newer": "^1.1.0",
- "grunt-run": "^0.5.2",
- "grunt-sass": "^1.0.0",
- "karma": "^0.13.14",
- "karma-coverage": "^0.5.3",
- "karma-jasmine": "^0.3.1",
- "karma-junit-reporter": "^0.3.8",
- "karma-phantomjs-launcher": "^0.2.1",
- "time-grunt": "^1.0.0"
- },
- "scripts": {
- "postinstall": "bower install --no-interactive --allow-root"
- },
- "keywords": [
- "angular",
- "foundation",
- "foundation for sites",
- "angularjs",
- "boilerplate",
- "starter",
- "project",
- "front-end",
- "zurb"
- ]
-}
diff --git a/protractor.config.js b/protractor.config.js
deleted file mode 100644
index 7925984..0000000
--- a/protractor.config.js
+++ /dev/null
@@ -1,29 +0,0 @@
-exports.config = {
- // commenting this line auto-starts the selenium server
- //seleniumAddress: 'http://localhost:4444/wd/hub',
-
- // A base URL for your application under test. Calls to protractor.get()
- // with relative paths will be prepended with this.
- baseUrl: 'http://localhost:9000/',
-
- // Jasmine is fully supported as a test and assertion framework.
- framework: 'jasmine',
-
- // Options to be passed to minijasminenode.
- // See the full list at https://github.com/juliemr/minijasminenode/tree/jasmine1
- jasmineNodeOpts: {
- // If true, display spec names.
- isVerbose: true,
- // If true, print colors to the terminal.
- showColors: true,
- // If true, include stack traces in failures.
- includeStackTrace: false,
- // Default time to wait in ms before a test fails.
- defaultTimeoutInterval: 30000
- },
-
- // Spec patterns are relative to the location of this config.
- specs: [
- 'src/app/**/*.e2e.js'
- ]
-};
diff --git a/src/app/about/about.module.js b/src/app/about/about.module.js
deleted file mode 100644
index b6fe844..0000000
--- a/src/app/about/about.module.js
+++ /dev/null
@@ -1,11 +0,0 @@
-angular.module('app.about', [
- 'ui.router',
- 'about.controllers'
-])
-
-.config(function config($stateProvider) {
- $stateProvider.state('about', {
- url: '/about',
- templateUrl: 'about/views/about.tpl.html'
- });
-});
diff --git a/src/app/about/controllers/AboutCtrl.js b/src/app/about/controllers/AboutCtrl.js
deleted file mode 100644
index 497a1a9..0000000
--- a/src/app/about/controllers/AboutCtrl.js
+++ /dev/null
@@ -1,4 +0,0 @@
-angular.module('about.controllers.AboutCtrl', [])
- .controller('AboutCtrl', function($scope) {
- $scope.title = 'About Page';
- });
diff --git a/src/app/about/controllers/controllers.js b/src/app/about/controllers/controllers.js
deleted file mode 100644
index 7b25b85..0000000
--- a/src/app/about/controllers/controllers.js
+++ /dev/null
@@ -1,3 +0,0 @@
-angular.module('about.controllers', [
- 'about.controllers.AboutCtrl'
-]);
diff --git a/src/app/about/e2e/about.e2e.js b/src/app/about/e2e/about.e2e.js
deleted file mode 100644
index 4d6309e..0000000
--- a/src/app/about/e2e/about.e2e.js
+++ /dev/null
@@ -1,7 +0,0 @@
-describe('test about page', function () {
-
- beforeEach(function() {
- browser.get('#/about');
- });
-
-});
diff --git a/src/app/about/styles/_about.scss b/src/app/about/styles/_about.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/src/app/about/styles/_styles.scss b/src/app/about/styles/_styles.scss
deleted file mode 100644
index 9bca3a0..0000000
--- a/src/app/about/styles/_styles.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-// Import all separate styles for this component here. Don't add any actual Sass to this file.
-@import "about";
diff --git a/src/app/about/unit/AboutCtrl.spec.js b/src/app/about/unit/AboutCtrl.spec.js
deleted file mode 100644
index b980f28..0000000
--- a/src/app/about/unit/AboutCtrl.spec.js
+++ /dev/null
@@ -1,18 +0,0 @@
-describe('AboutCtrl ', function () {
-
- var controller, scope;
-
- beforeEach(module('app.about'));
-
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- controller = $controller('AboutCtrl', {
- $scope: scope
- });
- }));
-
- it('should set correct page title', function () {
- expect(scope.title).toBe('About Page');
- });
-
-});
diff --git a/src/app/about/views/about.tpl.html b/src/app/about/views/about.tpl.html
deleted file mode 100644
index 4e00d1e..0000000
--- a/src/app/about/views/about.tpl.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
Well would you look at that, it's the {{title}}.
-
Navigating between pages is really easy thanks to ui-router.