Welcome to the frontend of the hAPPy project. This is a project done for the class 'Web-Engineering II' at the DHBW Stuttgart.
To start developing clone this project and install the latest version of the Ionic CLI then run:
npm i -g ionic
npm install
ionic serve hAPPy -l
For device testing enter
ionic cordova run android/ios
The architecture of this app follows the standard ionic architecture arche-type. It differentiates between pages (the views of the app) and provideres (services which work with data).
This project is divided into multiple pages.
This page displays all kind of information about data protection and the imprint.
This page displays the result of the picture analysis by drawing a chart.
The Login-Page lets you login to an existin account by posting the information to the login endpoint of the backend. On successful login: While login in the user gets authenticated and a jwt token is stored in the app. It will push the view to display the Picture-Page.
A page which is displayed when the user enters a temporary password which he was given because he requested a password reset.
This page is displayed when the user asks for a password reset in the login page.
The Picture-Page lets you upload an image to be analysed. It will display the result of the analysis.
The Settings-Page will let you choose between some basic settings, like changing your user name, loging out and deleting an account.
The Stats-Page will display additional information about the last analysed images. It uses the chart.js library to display this information.
The parent View for the Picture-, Statistics- and Settings-Page. It lets you switch betweent the Pages.
The Welcome-Page is the entry point to the app from the users perspective. The Welcome-Page lets you choose between the #- and Login-Page.
The data-services of this app.
A wrapper for a standard api. It implements the GET-, POST-, PUT-, DELETE- and PATCH-Methods. Altough not alle methods are used at this point in time they are still implemented for consistency and future developement.
This file provides functionality to override the back button of android and windows phones.
This service parses the analysis object provided by the backend and stores the result.
This service represents the user and their data. It provides methods for loging in, signing up and loging out.
A folder full of services which had no other place.
this file provides a service which validates if passwords are the same and also if the length of the password is atleast 8 characters. It also provides a service for validating email.
All strings are stored and exported here to keep all the others files more tidy.
This file provides services for navigating and at the same time setting a new root and also one for making toasts easier to display.
The app looks somewhat like this: