frksteenhoff / ClimApp

Codebase for prototype and final version of the smartphone application ClimApp, a project under the European Research Area for Climate Services. The application is available for iOS and Android in App Stroe and Google Play respectively.
https://www.lth.se/climapp/
4 stars 2 forks source link

ClimApp - climate information personalized

This is the codebase for the prototype and final app developed as a part of the ERA4CS ClimApp project. As the app is being developed the readme will be updated with necessary information.

Download ClimApp

ClimApp is now freely available in Google Play and App Store, download it here:

drawing drawing drawing

Requirements and installation

Android Studio project (in folder ClimApp)

For all Java code you need to install Java and Android Studio including different SDKs/JDKs and JRE.

For the best simulation of the app, use USB Debugging on your device (Developer mode).

Inspection of the scripts in Jupyter Notebooks require an installation of Python 2.7.

Cordova project (in folder cordova/climapp)

Plugins

Structure of the program files:

 cordova/climapp
 ├── hooks    
 ├── plugins                                                      <-- installed plugins
 ├── res                                                          <-- assets
 ├── www                                                          <-- source code
      ├── css/                                                    <-- styling
      ├── data/                                                   <-- additional data
      ├── img/                                                    <-- assets
      ├── js/                                                     <-- javascript files
      |     ├── helper_functions/                                 <-- logic used in different pages in app
      │     ├── thresholds/ 
      │     ├── phs/
      │     ├── test/
      │     │     ├── functionality/                              <-- unit tests (jest)
      │     │     ├── ui_tests/                                   <-- ui/integration tests (mocha, chai, jasmine) 
      │     ├── index.js                                          <-- main app content -- where app runs from
      │     ├── *.js                                              <-- logic and functionality files
      │     └── ..
      ├── pages/
      │     ├── *.html                                            <-- app screens
      │     └── ..
      ├── translations/                                           <-- translation spreadsheets and JSON object 
      ├── video/                                                  <-- video backgrounds
      ├── webfonts/                                               <-- fonts
      └── .. 
 ├── (platforms)                                                  <-- build versions (ignored)
 ├── (node_modules)                                               <-- modules (ignores)
 ..
 ClimApp                                                          <-- Android Repository (old)
 ├── ..
 ├── .idea/                                                                                                                             
 ├── app/release/                                                 <-- Application package (.apk) for Google Play
 ├── app/src/                                                     <-- source code
 │        ├── main/
 │        │     ├── res/
 │        │     │     ├── drawable                                <-- assets
 │        │     │     ├── font                                    <-- font
 │        │     │     ├── mipmap                                  <-- images
 │        │     │     ├── layout                                  <-- xml layout files
 │        │     │     ├── values                                  <-- globally accessible settings
 │        │     │     ├── xml                                     <-- network configuration 
 │        │     │     └── ..                                       
 │        │     └── java/com/example/android/climapp/             <-- fragments and activities  
 │        │                                     ├──   clothing/   <-- clothing fragment (currently not enabled in app) 
 │        │                                     ├──   dashboard/  <-- dashboard fragment
 │        │                                     ├──   data/       <-- database API + sqlite3 classes
 │        │                                     ├──   onboarding/ <-- onboarding fragment + onboarding activites
 │        │                                     ├──   settings/   <-- settings fragment + settings activites
 │        │                                     ├──   utils/      <-- helper classes
 │        │                                     └──   wbgt/       <-- wbgt classes
 │        ├──  test/java/com/android/climapp                      <-- test classes for critical parts of application
 │        └── ...
 ├── build/
 ├── gradle/wrapper/
 └── ...

Other folders

img

OpenWeatherData

Tests for fetching data from DWD Open Data and Open Weather Map in Jupyter Notebooks.

Conceputal drawings

Misc

Documentation

Documentation of the app can be found in the ClimApp Wiki.

Copyright @frksteenhoff