Skip to content
This repository has been archived by the owner on Jan 8, 2021. It is now read-only.

PhysikOnline/TinyGU

Repository files navigation

TinyGU

Table of contents generated with markdown-toc


DEMO

Angular Style Guide license

Build history

Travis branch Build Status Codeship Status for PhysikOnline/TinyGU

Maintainability Test Coverage Codacy Badge bitHound Overall Score bitHound Dependencies bitHound Dev Dependencies bitHound Code Coverage Status Known Vulnerabilities dependencies Status

Issue Stats Issue Stats

GitHub release GitHub (Pre-)Release Date GitHub last commit GitHub last commit (branch) GitHub repo size in bytes GitHub top language GitHub language count

Requirements

Continuous Integration

Travis-CI

via Travis CI the Project is automatically built and pushed to the gh-pages branch. The .travis.yml-config file is in the root directoy. Branches with the suffix nobuild or nb seperated by . - _ / \ are not built on travis.
Not set up yet but generally possible would be an integration of greenkeeper.io which automatically updates the packages for the builds at travis.

Automatic deployment on GitHub Pages

Build Status

DEMO

Material Design

Color Style

https://material.io/color/#!/?primary.color=005ea8
http://mcg.mbitson.com/#!?mcgpalette0=%23005ea8

Angular CLI

This project was generated with Angular CLI version 1.4.9.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Alternatively when using Webstorm, you can set up a run command. Open "edit configurations" in the "Run" Menu. Add a "Bash" configuration. Now put in your Interpreter Path (cmd on Windows should be located at C:\Windows\system32\cmd.exe ). And as Interpreter options enter /k ng serve --port 4200. now you can run the server by simply running the project.

ng serve --i18nFile src/locale/messages.de-DE.xlf --i18nFormat xlf --locale de --missingTranslation ignore -p 4200

"run" configuration for webstorm @windows when using webstorm with windows you can add these lines to your .idea/workspace.xml Insert after "RunDashboard" and before "ShelveChangesManager":
<component name="RunManager" selected="Bash.-p 4201 en">
  <configuration name="-p 4201 de" type="BashConfigurationType" factoryName="Bash">
    <option name="INTERPRETER_OPTIONS" value="/k ng s -p 4201 --aot --i18nFile src/locale/messages.de-DE.xlf --i18nFormat xlf --locale de --missingTranslation ignore" />
    <option name="INTERPRETER_PATH" value="C:\Windows\system32\cmd.exe" />
    <option name="WORKING_DIRECTORY" value="" />
    <option name="PARENT_ENVS" value="true" />
    <option name="SCRIPT_NAME" value="" />
    <option name="PARAMETERS" value="" />
    <module name="" />
    <envs />
  </configuration>
  <configuration name="-p 4201 en" type="BashConfigurationType" factoryName="Bash">
    <option name="INTERPRETER_OPTIONS" value="/k ng s -p 4201 --aot --i18nFile src/locale/messages.en-US.xlf --i18nFormat xlf --locale en --missingTranslation ignore" />
    <option name="INTERPRETER_PATH" value="C:\Windows\system32\cmd.exe" />
    <option name="WORKING_DIRECTORY" value="" />
    <option name="PARENT_ENVS" value="true" />
    <option name="SCRIPT_NAME" value="" />
    <option name="PARAMETERS" value="" />
    <module name="" />
    <envs />
  </configuration>
  <configuration name="-p 4201" type="BashConfigurationType" factoryName="Bash">
    <option name="INTERPRETER_OPTIONS" value="/k ng serve --port 4201" />
    <option name="INTERPRETER_PATH" value="C:\Windows\system32\cmd.exe" />
    <option name="WORKING_DIRECTORY" value="" />
    <option name="PARENT_ENVS" value="true" />
    <option name="SCRIPT_NAME" value="" />
    <option name="PARAMETERS" value="" />
    <module name="" />
    <envs />
  </configuration>
  <list size="3">
    <item index="0" class="java.lang.String" itemvalue="Bash.-p 4201" />
    <item index="1" class="java.lang.String" itemvalue="Bash.-p 4201 de" />
    <item index="2" class="java.lang.String" itemvalue="Bash.-p 4201 en" />
  </list>
</component>

Build Angular App

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

Dev

Update Angular

to update Angular: https://angular-update-guide.firebaseapp.com/

npm outdated, npm update and npm ls --depth=0 are very handy commands

replace the version number @'^5.0.0' with @latest and probably add --save to the end of the command. On windows run cmd as admin!

to update Angular-CLI: https://github.com/angular/angular-cli#updating-angular-cli

if webpack is missing (ng version) install it with npm install --save-dev webpack

npm-check-updates makes it very easy to update packeges if you dont want use greenkeeper.io run ncu -x typescript -u -a

Versioning

we use the semantic versioning for this app: https://docs.npmjs.com/getting-started/semantic-versioning http://nodesource.com/blog/semver-a-primer/

                       Major   Patch   Metadata
                          \     /         /
Semantic Version:          1.2.3-beta.1+meta
                            /      \
                         Minor   (Pre)release

We also use GitFlow Workflow

Links https://danielkummer.github.io/git-flow-cheatsheet/
https://robinsvahn.wordpress.com/2017/04/03/git-flow-einfach-gemacht-sourcetree/
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

Localization

i18n

to generate the source file: ng xi18n --locale en-US --i18nFormat=xlf --outputPath src/locale --out-file messages.en-US.xlf

Translation Tools

as an alternative to transifex there are some other companies that offer free accounts for open source projects like:

List of globalization management systems (GMS)

LingoHub

We switched to LingoHub since it is very easy to use. It connects with a GitHub or Bitbucket account and pulls the source automatically and offers to push the new strings to the repo directly or as PR

Transifex

since we switched to LingoHub we dont use Transifex anymore

how to use Transifex in this project

install the client
tx init dont change Transifex instance and get a token
tx set --auto-remote https://www.transifex.com/PhysikOnline/TinyGU
tx push --source
tx pull --all

some useful links: