Skip to content

FaubourgSimone/ionic-app

Repository files navigation

DEPRECATED

Please go to https://github.com/proustibat/fbrgsmn.mobile.app


Faubourg Simone: mobile applications Twitter Follow

Sources of our web radio applications: android and ios with Ionic 2.

Code Climate Sonar quality gate Quality Gate Status Dependencies Status DevDependencies Status GitHub License

Table of Contents


Demo

Get it on Google Play

  Get it on Apple Store

Features

  • Listening to our radio
  • See content of our website: Pola / Calepins / Dans le casque

Installation

Install the app by running:

npm install -g ionic cordova
npm i
ionic platform ios android
ionic state restore

Linter for the TypeScript

tslint --type-check --project tsconfig.json

Note that our tslint config extends SonarTS rules

Continuous Code Quality

We use Sonarqube on Sonarcloud.io to keep our code safe. The dashboard is available here: https://sonarcloud.io/dashboard?id=faubourgsimone_ionic_app

Usage

Be sure you have downloaded and installed the Sonarqube Scanner.

You need to add sonar-project.properties to the root of the project as following:

sonar.projectName=Faubourg Simone Ionic App
sonar.projectKey=faubourgsimone_ionic_app
sonar.host.url=https://sonarcloud.io
sonar.organization=faubourgsimone-github
sonar.login=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sonar.sources=src
sonar.java.source=1.8
sonar.java.binaries=.

When it's done, use the following command to generate results on the dashboard:

sonar-scanner -X -Dsonar.projectVersion=x.x.x

Please contact us if you want a public login for our project.

A glance at our actual Sonarqube metrics

Complexity

How simple or complicated the control flow of the application is.

Complexity Complexity per file Cognitive Complexity

Cyclomatic Complexity measures the minimum number of test cases requiref for full test coverage. Cognitive Complexity is a measure of how difficult the application is to understand

Complexity for Javascript or typescript is incremented by one for each:

  • function (i.e non-abstract and non-anonymous constructors, functions, procedures or methods)
  • if statement
  • short-circuit (AKA lazy) logical conjunction (&&)
  • short-circuit (AKA lazy) logical disjunction (||)
  • ternary conditional expressions
  • loop
  • case clauses of a switch statement
  • throw and catch statement
  • return statement (except when it is the very last statement of a function)

Complexity of the web page is measured by counting the decision tags (such as if and forEach) and boolean operators in expressions (&& and ||), plus one for the body of the document. The decision tags and the operators are configurable through the Complexity rule.

Documentation & sizes

Lines Lines of code Comment lines Comments (%)

Directories Files Classes Functions

Duplications

Duplicated blocks Duplicated lines

Issues

Open issues Confirmed issues Won't fix issues

Maintainability

Issues in this domain mark code that will be more difficult to update competently than it should

Code smells SQALE Rating

Rating given to the project related to the value of the Technical Debt Ratio. The default Maintainability Rating grid is:

  • A=0-0.05,
  • B=0.06-0.1,
  • C=0.11-0.20,
  • D=0.21-0.5,
  • E=0.51-1

The Maintainability rating scale can be alternately stated by saying that if the outstanding remediation cost is:

  • <=5% of the time that has already gone into the application, the rating is A
  • between 6 to 10% the rating is a B
  • between 11 to 20% the rating is a C
  • between 21 to 50% the rating is a D
  • anything over 50% is an E

Technical debt

Effort to fix all maintainability issues. The measure is stored in minutes. An 8-hour day is assumed when values are shown in days. (The value of the cost to develop a line of code is 0.06 days)

Technical debt Technical debt ratio

Reliability

Issues in this domain mark code where you will get behavior other than what was expected.

Bugs Reliability remediation effort Reliability Rating

Reliability remediation effort

Effort to fix all bug issues. The measure is stored in minutes. An 8-hour day is assumed when values are shown in days.

Reliability rating

  • A or 1 = 0 Bug
  • B or 2 = at least 1 Minor Bug
  • C or 3 = at least 1 Major Bug
  • D or 4 = at least 1 Critical Bug
  • E or 5 = at least 1 Blocker Bug

Security

Vulnerabilities Security remediation effort	Security Rating

Security remediation effort

Effort to fix all vulnerability issues. The measure is stored in minutes in the DB. An 8-hour day is assumed when values are shown in days.

Security rating

  • A = 0 Vulnerability
  • B = at least 1 Minor Vulnerability
  • C = at least 1 Major Vulnerability
  • D = at least 1 Critical Vulnerability
  • E = at least 1 Blocker Vulnerability

Feel free to improve the app with us

  • Run ionic serve -l
  • We recommand to test your code by running ionic run android or ionic run ios to see results on simulators. If you're not familiar with Ionic framework, please read the Ionic documentation: https://ionicframework.com/docs/
  • We use commitizen, so if you wanna contribute to the project and create a pull request, use it by running git cz instead of git commit.

Contribute

Support

If you are having issues, please let us know: [email protected]

License

The project is licensed under the GNU Affero General Public License v3.0 license

Dependencies

Dev Dependencies