@@ -1,5 +1,20 @@
const angular = require('angular')
require('material-framework/app')
+const routes = require('./routes')
const app = angular.module('app', ['material-framework'])
+app.config(($routeProvider, $mdThemingProvider) => {
+ // TODO: Select a theme
+ const palettes = ['red', 'pink', 'purple', 'deep-purple', 'indigo', 'blue', 'light-blue', 'cyan', 'teal', 'green', 'light-green', 'lime', 'yellow', 'amber', 'orange', 'deep-orange', 'brown', 'grey', 'blue-grey']
+ const randomPalette = () => palettes[Math.floor(Math.random() * palettes.length)]
+ $mdThemingProvider.theme('default')
+ .primaryPalette(randomPalette())
+ .accentPalette(randomPalette())
+ .warnPalette(randomPalette())
+
+ routes($routeProvider)
+})
+module.exports = app
@@ -0,0 +1,5 @@
+const assets = require('material-framework/app/assets')
+module.exports = Object.assign(assets, {
+ // TODO: Insert project assets
+ // Override logo with image
@@ -0,0 +1,12 @@
+const app = require('../app')
+app.component('appDashboardPage', {
+ template: html`
+ <app-user-area>
+ Dashboard
+ </app-user-area>
+ `,
+ controllerAs: 'dashboard',
+ controller: function() {
+ }
@@ -0,0 +1,2 @@
+require('./user-area-nav')
+require('./dashboard-page')
@@ -0,0 +1,17 @@
+const { dashboardIcon } = require('../assets')
+app.component('appUserAreaNav', {
+ <h3>
+ Intelligence
+ </h3>
+ <md-menu-item>
+ <md-button ng-href="/dashboard">
+ <md-icon md-svg-icon="${dashboardIcon}"></md-icon>
+ </md-button>
+ </md-menu-item>
+ `
@@ -1 +1,8 @@
-require('./app')
+const assets = require('./assets')
+const app = require('./app')
+require('./services')
+require('./components')
+module.exports = {
+ app,
+ assets
+}
@@ -0,0 +1,3 @@
+module.exports = function($routeProvider) {
+ $routeProvider.when('/dashboard', {template: '<app-dashboard-page />'})
@@ -0,0 +1,6 @@
+app.run(function(api) {
+ // TODO: Assign API functions:
+ // api.statistics = () => api.get('/api/statistics')
@@ -0,0 +1 @@
+require('./api')
@@ -1,4 +1,6 @@
const config = require('../config')
const frameworkConfig = require('material-framework/config')
frameworkConfig.inject(config)
-require('material-framework/bin/project')
+require('../lib/server')
+require('../lib/database')
+require('material-framework/bin/project')
+const { controllers: C } = require('material-framework/server')
+module.exports = Object.assign(C, {
+ // TODO: API Controllers
+const {database} = require('material-framework/server')
+module.exports = Object.assign(database, {
+ // TODO: App models
@@ -0,0 +1,4 @@
+const C = require('./controllers')
+module.exports = app => {
+ // TODO: REST Routes
@@ -1,2 +1,3 @@
-const app = require('material-framework/server')
-app.start()
+const { app } = require('material-framework/server')
+routes(app)