Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,11 @@ end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.json]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ client/bower_components
# Cloud9 editor
.c9

# Visual Studio Code editor
.vscode

# Bower specific
.bower-tmp
.bower-registry
Expand Down
9 changes: 8 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
language: node_js
node_js:
- 6
addons:
postgresql: "9.4"
services:
- postgresql
before_script:
- psql -c 'create database vagrant;' -U postgres
- psql -c "CREATE USER vagrant WITH PASSWORD 'vagrant';" -U postgres
after_success:
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"
- "./node_modules/.bin/lcov-result-merger 'coverage/**/*.info' | ./node_modules/coveralls/bin/coveralls.js"
8 changes: 4 additions & 4 deletions Vagrantfile.windows
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ Vagrant.configure("2") do |config|
end

# Add port-forward for Express app
config.vm.network :forwarded_port, guest: 3000, host: 3000
config.vm.network :forwarded_port, guest: 3000, host: 3000, host_ip: "127.0.0.1"
# Add port-forward for Livereload
config.vm.network :forwarded_port, guest: 35729, host: 35729
config.vm.network :forwarded_port, guest: 35729, host: 35729, host_ip: "127.0.0.1"
# Add port-forward for PostgreSQL
config.vm.network :forwarded_port, guest: 5432, host: 5432
config.vm.network :forwarded_port, guest: 5432, host: 5433, host_ip: "127.0.0.1"
# Add port-forward for NGINX
config.vm.network :forwarded_port, guest: 80, host: 80, auto_correct: true
config.vm.network :forwarded_port, guest: 80, host: 80, host_ip: "127.0.0.1", auto_correct: true

config.ssh.forward_agent = true

Expand Down
74 changes: 44 additions & 30 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,33 +1,47 @@
{
"name": "flowr",
"description": "Task Flow, ToDo List, GTD and Time tracker at once.",
"main": "",
"authors": [
"wiatrM <mwiatr.dev@gmail.com>",
"lapek <v@>"
],
"license": "Apache-2.0",
"overrides": {},
"keywords": [
"flowr"
],
"homepage": "https://github.com/wiatrM/FlowR",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "1.5.8",
"angular-ui-router": "^0.3.2",
"angular-resource": "^1.5.8",
"angular-animate": "^1.5.8",
"angular-touch": "^1.5.8",
"angular-material": "^1.1.1",
"satellizer": "^0.15.5",
"mdi": "^1.7.22",
"roboto-fontface": "^0.6.0"
"name": "flowr",
"description": "Task Flow, ToDo List, GTD and Time tracker at once.",
"main": "",
"authors": [
"wiatrM <mwiatr.dev@gmail.com>",
"lapek <piotrlapa.dt@gmail.com>"
],
"license": "Apache-2.0",
"overrides": {
"roboto-fontface": {
"main": [
"./css/roboto/roboto-fontface.css",
"./fonts/Roboto/*"
]
},
"mdi": {
"main": [
"./css/materialdesignicons.css",
"./fonts/*"
]
}
},
"keywords": [
"flowr"
],
"homepage": "https://github.com/wiatrM/FlowR",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"angular": "^1.6.4",
"angular-ui-router": "^1.0.5",
"angular-resource": "^1.6.4",
"angular-animate": "^1.6.4",
"angular-touch": "^1.6.4",
"angular-material": "^1.1.3",
"satellizer": "^0.15.5",
"mdi": "^2.0.46",
"roboto-fontface": "^0.8.0",
"ngprogress": "^1.1.3"
}
}
75 changes: 34 additions & 41 deletions client/src/app/app.js
Original file line number Diff line number Diff line change
@@ -1,66 +1,59 @@
(function() {
(function () {
'use strict';

angular.module('flr', [
'ui.router',
'ngResource',
'ngAnimate',
'ngMessages',
'ngMaterial',
'satellizer',
'ui.router',
'ngResource',
'ngAnimate',
'ngMessages',
'ngMaterial',
'satellizer',
'ngProgress',

//shared modules
'flr.config',
'flr.core'

// other modules will be lazy-loaded from router (fe. flr.admin if user is admin)
])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$provide', '$httpProvider', '$authProvider',
function ($stateProvider, $urlRouterProvider, $locationProvider, $provide, $httpProvider, $authProvider) {

//shared modules
'flr.config',
'flr.core'

// other modules will be lazy-loaded from router (fe. flr.admin if user is admin)
])
.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', '$provide', '$httpProvider', '$authProvider',
function($stateProvider, $urlRouterProvider, $locationProvider, $provide, $httpProvider, $authProvider) {

// Now set up the states
$stateProvider
// NESTED VIEWS! all states in different modules with app. prefix will include this abstract state with layout.html
.state('app', {
abstract: true,
templateUrl: '/app/core/views/layout.html' // layout template
});
$urlRouterProvider.otherwise("/404");
$locationProvider.html5Mode(true);

// error handling

$provide.factory('ErrorInterceptor', ['$q', function($q) {
$provide.factory('ErrorInterceptor', ['$q', function ($q) {
return {
responseError: function(rejection) {
responseError: function (rejection) {
console.error(rejection.data.code + ': ' + rejection.data.message);
return $q.reject(rejection);
}
};
}]);

$httpProvider.interceptors.push('ErrorInterceptor');

// Satellizer config
$authProvider.baseUrl = '/';
$authProvider.loginUrl = 'api/Users/login';
$authProvider.loginUrl = 'api/Users/login';
$authProvider.signupUrl = 'api/Users';
$authProvider.tokenName = 'id';
$authProvider.loginOnSignup = false; //turn off automatically login after register

// // Facebook
// $authProvider.facebook({
// name: 'facebook',
// url: '/auth/facebook',
// authorizationEndpoint: 'https://www.facebook.com/v2.5/dialog/oauth',
// redirectUri: window.location.origin + '/',
// requiredUrlParams: ['display', 'scope'],
// scope: ['email'],
// scopeDelimiter: ',',
// display: 'popup',
// oauthType: '2.0',
// popupOptions: { width: 580, height: 400 }
// });
/* // Facebook
$authProvider.facebook({
name: 'facebook',
url: '/auth/facebook',
authorizationEndpoint: 'https://www.facebook.com/v2.5/dialog/oauth',
redirectUri: window.location.origin + '/',
requiredUrlParams: ['display', 'scope'],
scope: ['email'],
scopeDelimiter: ',',
display: 'popup',
oauthType: '2.0',
popupOptions: { width: 580, height: 400 }
}); */
}
]);
})();
8 changes: 8 additions & 0 deletions client/src/app/core/controllers/footer.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

angular.module('flr.core')
.controller('footerController',
function () {
var vm = this;

});
8 changes: 8 additions & 0 deletions client/src/app/core/controllers/home.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

angular.module('flr.core')
.controller('homeController',
function () {
var vm = this;

});
1 change: 1 addition & 0 deletions client/src/app/core/controllers/login.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ angular.module('flr.core')
})
.catch(function (response) {
vm.errorMessage = 'Invalid email or password.';
vm.user.password = '';
console.log("error: ", response.data.error.message);
});
}
Expand Down
13 changes: 13 additions & 0 deletions client/src/app/core/controllers/main.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
'use strict';

angular.module('flr.core')
.controller('mainController',
function ($scope, $rootScope) {

// Remove the splash screen
$scope.$on('$viewContentAnimationEnded', function (event) {
if (event.targetScope.$id === $scope.$id) {
$rootScope.$broadcast('splashScreen::remove');
}
});
});
8 changes: 8 additions & 0 deletions client/src/app/core/controllers/navbar.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

angular.module('flr.core')
.controller('navbarController',
function () {
var vm = this;

});
24 changes: 24 additions & 0 deletions client/src/app/core/controllers/navigation.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
'use strict';

angular.module('flr.core')
.controller('navigationController',
function ($mdSidenav) {
var vm = this;

var originatorEv;

vm.openMenu = openMenu;
vm.openSideMenu = openSideMenu;

function openSideMenu() {
return function () {
$mdSidenav("navigation").toggle();
};
}

function openMenu($mdMenu, ev) {
originatorEv = ev;
$mdMenu.open(ev);
}

});
8 changes: 8 additions & 0 deletions client/src/app/core/controllers/sidebar.controller.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
'use strict';

angular.module('flr.core')
.controller('sidebarController',
function () {
var vm = this;

});
Loading