The global goal of this teaching module is acquiring skills related to the design, develop, and evaluate a Web user interface that handles (open) data in a societal concern (green, eco-citizenship, impairment, etc.).
Examples of type of apps are (but not limited to):
This year (2023-2024), you will all work on the software system *Hydro* developed by the research groups *Eaux et Territoires* and *TERA* of the lab *Géosciences Rennes*.
During the first course, Nicolas Cornette will introduce you the goals of this system and will make a short demo.
- App to have an overview of all or selected INSA 'associations/clubs/évènements'
- An app for leveraging open data, such as from https://data.rennesmetropole.fr or https://angersloiremetropole.opendatasoft.com You can use other open data source but ask us before (must be REST APIs).
The subjects are detailed in the file `projets_etudiants.pdf`.
We expect, at the end of the module, to merge some of your work into the *Hydro* system. So, your project may have a real social impact.
- If you have other ideas, do not hesitate to ask us.
## Skills to acquire
...
...
@@ -39,7 +32,7 @@ Ability to develop a usable user interface with dedicated user interactions, by
## Organization
-8 practical sessions to handle the different steps. This is a project so that working beyond the sessions is required.
-Eight practical sessions to handle the different steps. This is a project so that working beyond the sessions is required.
Sessions 1 and 2: design
Sessions 3 to 5: development
Sessions 6 to 8: evaluation
...
...
@@ -52,24 +45,11 @@ Three students per group.
## Technologies
- The technical stack of the *Hydro* front, so Angular
- The technical stack of the *Hydro* back, so Python
You will fork the following gitlab repository:
https://gitlab.com/Briian_/hydrostageproject
We will work with the frontend only.
This, however, requires a backend. We will use a fake one located in `backEnd`, which is a python REST server:
`python api.py` (see the Hydro readme for dependencies). This launches the back on localhost and port 5000.
Launches the front-end as a classical Angular app (`ng serve` or `npx ng serve`). This works using Node 18 (not tested with other versions). As a reminder, manage your Node version using `nvm` (do not confuse with `mvn`): https://github.com/nvm-sh/nvm
The back-end has three routes:
-`osur/getxmlnames` (sic) that returns the list of configuration files a user can select
-`osur/getxml/{name}` that returns the configuration file corresponding to the given `name`, in XML
-`osur/run_cydre` that runs a simulation using as input the modified configuration file and returns as output a result (in XML)
- You can use either Angular, React, or VueJS to develop the front-end. You must use TypeScript within these frameworks. Ask us if you want to use another framework (that must use TypeScript).
- https://quant-ux.com
- gitlab INSA
## MVP (minimal viable product)
...
...
@@ -81,3 +61,4 @@ TBD
## Marking
We will evaluate your project, which encompasses the three steps (design, development, evaluation).