Skip to content
Snippets Groups Projects
Commit 6c628ffb authored by DUSSABLE Florian's avatar DUSSABLE Florian
Browse files

Merge branch 'devel' into 'main'

livraison finale

See merge request !9
parents 314eda94 a2be600b
No related branches found
No related tags found
1 merge request!9livraison finale
Showing
with 15486 additions and 1 deletion
# tp_infra # UE Infrastructures d'Intégration
TP 2021
Florian Dussable - Nicolas Kirchhoffer - Léo Beaujean - Romain Orvoën
## Project structure
The different components of the project located under src are as follows:
- publishers
- subscribers
- servers
- front
## How to build
### Prerequisites
- [ ] Golang compiler
- [ ] Node.js (package manager & compiler)
- [ ] Bash
Run build.sh located under src to build the whole project
## How to run
### Prerequisites
- [ ] Mosquitto broker
- [ ] MongoDB engine
Run your Mosquitto broker before running the publishers and the subscribers
Run your MongoDB engine before running the database subscriber or the api server
\ No newline at end of file
# Swagger Codegen Ignore
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
3.0.27
\ No newline at end of file
This diff is collapsed.
build_out/*
echo "Building whole project"
if [[ ! -d build_out ]]
then
mkdir -p build_out/{publishers,subscribers,servers,front}
fi
cd publishers && go build -o ../build_out/publishers ./... && cd ..
cd subscribers && go build -o ../build_out/subscribers ./... && cd ..
cd servers && go build -o ../build_out/servers ./... && cd ..
cd front && npm install && npm run build && cd ..
echo "Executables written in build_out"
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
# static
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Lints and fixes files
```
npm run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}
This diff is collapsed.
{
"name": "Front-end",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build --dest ../build_out/front/dist",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.24.0",
"chart.js": "^2.9.4",
"core-js": "^3.6.5",
"vue": "^2.6.11",
"vue-chartjs": "^3.5.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not dead"
]
}
src/front/public/favicon.ico

4.19 KiB

<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
src/front/public/pressure.png

3.66 KiB

src/front/public/temp.png

2.57 KiB

src/front/public/wind.png

2.34 KiB

<template>
<div id="app">
<Dashboard />
</div>
</template>
<script>
import Dashboard from './components/Dashboard.vue'
export default {
name: 'App',
components: {
Dashboard
}
}
</script>
<style scoped>
* {
margin: 0; padding: 0;
box-sizing: border-box;
}
</style>
\ No newline at end of file
src/front/src/assets/logo.png

6.69 KiB

<template>
<section class="dashboard">
<section class="title">
<h1>Informations aéroports</h1>
</section>
<section class="avg-data">
<measure-avg />
</section>
<section class="time-data">
<measures-range />
</section>
</section>
</template>
<script>
import MeasureAverage from './MeasureAverage.vue'
import MeasuresRange from './MeasuresRange.vue'
export default {
data() {
return {
}
},
components: {
'measure-avg': MeasureAverage,
'measures-range': MeasuresRange
},
mounted() {
}
}
</script>
<style scoped>
@import url('https://fonts.googleapis.com/css2?family=Oxanium&display=swap');
section.dashboard {
width: 100%;
}
section.dashboard > section.title {
width: 100%;
border-bottom: 5px solid #1B2644;
text-align: center;
}
section.dashboard > section.title > h1 {
font-family: 'Oxanium';
font-size: 48px;
}
section.dashboard > section.avg-data {
width: 75%;
margin-top: 3%;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
section.dashboard > section.time-data {
width: 75%;
margin-top: 400px;
position: absolute;
left: 50%;
transform: translateX(-50%);
}
</style>
\ No newline at end of file
<script>
import { Line } from "vue-chartjs";
export default {
name: "LineChart",
props: ["chartData"],
extends: Line,
watch: {
chartData: () => {
console.log('watch');
this.render()
}
},
methods: {
render() {
this.renderChart({
labels: this.chartData.labels,
datasets: this.chartData.sets
},
{
responsive: false
})
}
},
mounted() {
this.render()
},
data(){
return {
}
},
};
</script>
<style scoped>
</style>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment