Skip to content
Open

Dev #24

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 .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
engines:
pmd:
enabled: true
channel: "beta"

ratings:
paths:
- "**.java"
60 changes: 0 additions & 60 deletions .gitignore

This file was deleted.

65 changes: 65 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
os:
- linux
dist: trusty
language: node_js
node_js:
- "6.11.1"
jdk:
- oraclejdk8
sudo: false
branches:
only:
- master
- dev
cache:
directories:
- node
- node_modules
- $HOME/.m2
env:
global:
- NODE_VERSION=6.11.1
- CC_TEST_REPORTER_ID=f5657076a1c6f5ec8126fa362e8d4aebb00e46c81168b6229e7a5c0c089bcab7
- GIT_COMMITTED_AT=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then git log -1 --pretty=format:%ct; else git log -1 --skip 1 --pretty=format:%ct; fi)
- SPRING_OUTPUT_ANSI_ENABLED=ALWAYS
- SPRING_JPA_SHOW_SQL=false
addons:
chrome: stable
apt:
packages:
- oracle-java8-set-default
before_install:
- nvm install $NODE_VERSION
- node -v
- npm -v
- java -version
install:
- cd ./festival/frontend
- npm install
- cd ..
before_script:
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- chmod +x ./cc-test-reporter
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
# - sleep 3 # give xvfb some time to start, we skip it because we run long java tests
script:
- chmod +x ./mvnw
- ./mvnw clean test
- cd ./frontend
- npm run test-ci
#after_success:
- cd ..
- ./cc-test-reporter before-build
- ./mvnw clean cobertura:cobertura > /dev/null
- bash <(curl -s https://codecov.io/bash)
- ./mvnw org.eluder.coveralls:coveralls-maven-plugin:report
- ./cc-test-reporter after-build
- cd ..
- chmod +x ./deploy.sh
- ./deploy.sh
notifications:
webhooks:
on_success: change # options: [always|never|change] default: always
on_failure: always # options: [always|never|change] default: always
on_start: false # default: false
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# Science Festival
# [Science Festival](https://science-festival.herokuapp.com/)
- master status [![master](https://travis-ci.org/Hubses/ScienceFestival.svg?branch=master)](https://travis-ci.org/Hubses/ScienceFestival)
- dev status [![dev](https://travis-ci.org/Hubses/ScienceFestival.svg?branch=dev)](https://travis-ci.org/Hubses/ScienceFestival)
- [Live development version](https://science-festival-dev.herokuapp.com/)
## Declaration of branches
- master - only stable builds with valid tests
- dev - develop, tests сan be not valid
- any feature realize next steps: create a branch from dev with next declaration `/<user name>/<feature name>`, when task is end, create pull request. after aproved changes branch must be delete!
- if feature contains `sub features`, see previous step. Decalration `/<user name>/<feature name>/<sub feature name>`. Who first create branch with feature, that creating pull request and he merging all conflicts
- All commits must be with `3 reviewers minimum`
# - Not merging before 2 reviewers are not approved!
# - Not merging before 2 reviewers are not approved and build check is green!

## deadlines

Expand Down
19 changes: 19 additions & 0 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

if ([ $TRAVIS_BRANCH == "master" ] && [ $TRAVIS_PULL_REQUEST == "false" ])
then
cd ./festival/frontend
npm run build-prod
cd ..
./mvnw com.heroku.sdk:heroku-maven-plugin:1.1.4:deploy-war -Pprod -DskipTests -Dheroku.appName=science-festival
echo 'Master published successfully.'
fi

if ([ $TRAVIS_BRANCH == "dev" ] && [ $TRAVIS_PULL_REQUEST == "false" ])
then
cd ./festival/frontend
npm run build
cd ..
./mvnw com.heroku.sdk:heroku-maven-plugin:1.1.4:deploy-war -DskipTests -Dheroku.appName=science-festival-dev
echo 'Dev published successfully.'
fi
46 changes: 46 additions & 0 deletions festival/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
######################
# Intellij
######################
.idea/
*.iml
*.iws
*.ipr
*.ids
*.orig
######################
# Maven
######################
/log/
/target/
######################
# Package Files
######################
*.jar
*.war
*.ear
*.db
######################
# Windows
######################
# Windows image file caches
Thumbs.db
# Folder config file
Desktop.ini
######################
# Logs
######################
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
######################
# Others
######################
*.class
*.*~
*~
.merge_file*
######################
# Maven Wrapper
######################
!.mvn/wrapper/maven-wrapper.jar
2 changes: 2 additions & 0 deletions festival/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
"ng": "ng",
"start": "ng serve --hmr --open --port 4201",
"build": "ng build",
"build-prod": "ng build --prod",
"test": "ng test",
"test-ci": "ng test --watch false",
"lint": "ng lint",
"e2e": "ng e2e"
},
Expand Down
9 changes: 7 additions & 2 deletions festival/frontend/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpModule } from '@angular/http';
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
Expand Down Expand Up @@ -37,7 +38,9 @@ import {
LoginComponent,
RegisterComponent,
NewsItemComponent,
AboutComponent
AboutComponent,
SidenavComponent,
HeaderComponent
} from './app/components';
// routes
const appRoutes: Routes = [
Expand Down Expand Up @@ -127,7 +130,9 @@ const appRoutes: Routes = [
LoginComponent,
NewsItemComponent,
RegisterComponent,
AboutComponent
AboutComponent,
SidenavComponent,
HeaderComponent
],
imports: [
BrowserModule,
Expand Down
19 changes: 19 additions & 0 deletions festival/frontend/src/app/components/header/header.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<sf-common-header>
<sf-common-button class="toggle-button" (click)="toggle()">
<sf-common-icon class="toggle-button__icon" type="menu"></sf-common-icon>
</sf-common-button>
<div class="logo">
SCIENCE FESTIVAL
</div>
<div class="right-contols">
<sf-common-dropdown class="right-contols__localization" [dropdownOptions]="localization" (selectedValueChange)="localizationChange($event)"></sf-common-dropdown>
<div class="right-contols__enter-group">
<div class="login">
<sf-common-button routerLink="/login" routerLinkActive="active"> LOGIN</sf-common-button>
</div>
<div class="register">
<sf-common-button routerLink="/register" routerLinkActive="active">REGISTER</sf-common-button>
</div>
</div>
</div>
</sf-common-header>
18 changes: 18 additions & 0 deletions festival/frontend/src/app/components/header/header.component.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.logo {
flex: 1 1 auto;
}

.toggle-button {
margin-left: -16px;
&__icon {
width: 100%;
}
}

.right-contols {
display: flex;
align-items: center;
&__enter-group {
display: flex;
}
}
24 changes: 24 additions & 0 deletions festival/frontend/src/app/components/header/header.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';

@Component({
selector: 'sf-header',
templateUrl: 'header.component.html',
styleUrls: ['./header.component.less']
})

export class HeaderComponent implements OnInit {
@Input() public isToggledButton: boolean;
@Output() public onTogledButton: EventEmitter<boolean> = new EventEmitter<boolean>();
@Input() public localization: sf.common.DropdownOptions<string>;
@Output() public onLocalizationChange: EventEmitter<string> = new EventEmitter<string>();

constructor() { }

ngOnInit() { }
public toggle(isToggled: boolean): void {
this.onTogledButton.emit(isToggled);
}
public localizationChange(option: string): void {
this.onLocalizationChange.emit(option);
}
}
1 change: 1 addition & 0 deletions festival/frontend/src/app/components/header/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './header.component';
2 changes: 2 additions & 0 deletions festival/frontend/src/app/components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ export * from './news-item';
export * from './login';
export * from './register';
export * from './about';
export * from './sidenav';
export * from './header';
Loading