https://github.com/dataforgoodfr/batch5_phenix_viztavie
https://github.com/dataforgoodfr/batch5_phenix_viztavie
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dataforgoodfr/batch5_phenix_viztavie
- Owner: dataforgoodfr
- Created: 2019-10-28T19:30:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-11T11:18:13.000Z (over 3 years ago)
- Last Synced: 2024-05-02T02:55:14.698Z (about 2 years ago)
- Language: Python
- Size: 1.69 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VizTaVie
Résultat du projet Dataforgood + Phenix.
# Installation
Pour installer les dépendances et lancer les serveurs (webpack: 8080 et express: 4000).
```node
yarn prepare
```
# Lancement
```node
yarn serve
```
# Production
```node
yarn build
```
# Client
Il s'agit d'un projet Vue.JS + TypeScript + Vuex.
Les autres dépendances principales sont TailwindCSS, Chart.JS et Leaflet.
Le projet contient également deux fichiers GeoJSON pour les calques régions et départements. Il suffit d'ajouter un fichier GeoJSON dans le dossier ***./client/src/assets*** et d'y ajouter une clé "level" pour qu'il soit ajouté dans la liste des niveaux géographiques disponibles.
```json
./client/src/assets/cantons.geojson.json
{ "type":"FeatureCollection","level":"Cantons","features":[ ... ] }
```
***A noter***: *Object.freeze* est utilisé à de nombreuses reprises dans le store lorsqu'il s'agit d'objets très larges
qui ne requièrent pas de watchers, ce qui permet d'améliorer drastiquement les performances avec des arrays de 10000+ objets.
***./client/src/store/geography.ts***
```ts
/**
* Available geo layerings.
*/
public layers: readonly GeoLayer[] = Object.freeze(geoLayers)
```
***./client/src/store/index.ts***
```ts
/**
* Set all data.
*/
set(state, data: Data) {
for (let i in data) {
state[i] = Object.freeze(data[i])
}
}
```
# Serveur
Le serveur Node est utilisé pour récupérer les données et lancer les scripts python.
La documentation et les pré-requis de la partie en Python arrivera bientôt.