From 19222b60acd1ddb307f24341b62d09c981311076 Mon Sep 17 00:00:00 2001 From: Fabien Zucchet <fabien.zucchet@student-cs.fr> Date: Fri, 27 Mar 2020 13:22:29 +0100 Subject: [PATCH] Refactor : clean code --- .gitignore | 3 + back/controller.js | 1 + back/controllers/administrateur.controller.js | 12 ++++ back/controllers/equipe.controller.js | 6 +- back/controllers/objectifs.controller.js | 6 +- back/controllers/participant.controller.js | 6 +- back/controllers/scores.controller.js | 6 +- back/index.js | 3 - back/routes/api.js | 3 - back/secrets.js | 3 +- front/src/app/accueil/Accueil.js | 1 - front/src/app/accueil/Classements.js | 1 - front/src/app/administration/Admin.js | 1 - .../administration/GestionAdministrateurs.js | 1 - .../{SaisieScore.js => GestionScore.js} | 2 +- .../gestionEquipes/EditEquipe.js | 7 +- .../gestionEquipes/NouvelleEquipe.js | 7 +- .../gestionObjectifs/AfficheObjectif.js | 18 ++--- .../gestionObjectifs/NouvelObjectif.js | 17 +++-- .../gestionObjectifs/TableauObjectifsAdmin.js | 2 +- .../gestionParticipants/EditParticipant.js | 7 +- .../gestionParticipants/NouveauParticipant.js | 7 +- .../AfficheScore.js | 6 +- .../DeleteScore.js | 2 +- .../NouveauScore.js | 1 - .../TableauScoresAdmin.js | 2 +- .../app/classementEquipe/ClassementEquipe.js | 1 - .../ClassementIndividuel.js | 1 - front/src/app/navbar/Navbar.js | 2 +- front/src/index.js | 26 +++---- old.index.js | 70 ------------------- 31 files changed, 76 insertions(+), 155 deletions(-) create mode 100644 back/controllers/administrateur.controller.js rename front/src/app/administration/{SaisieScore.js => GestionScore.js} (86%) rename front/src/app/administration/{saisieScore => gestionScore}/AfficheScore.js (96%) rename front/src/app/administration/{saisieScore => gestionScore}/DeleteScore.js (87%) rename front/src/app/administration/{saisieScore => gestionScore}/NouveauScore.js (97%) rename front/src/app/administration/{saisieScore => gestionScore}/TableauScoresAdmin.js (96%) delete mode 100644 old.index.js diff --git a/.gitignore b/.gitignore index 1e7cd564..eae89831 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ yarn-error.log* ./back/node_modules */node_modules /node_modules + +# secret files +./back/secrets.js diff --git a/back/controller.js b/back/controller.js index 081eb244..7ce550e4 100644 --- a/back/controller.js +++ b/back/controller.js @@ -2,6 +2,7 @@ scores = require('./controllers/scores.controller'); equipe = require('./controllers/equipe.controller'); participant = require('./controllers/participant.controller'); objectifs = require('./controllers/objectifs.controller'); +administrateur = require('./controllers/administrateur.controller'); module.exports = {equipe,participant,objectifs,scores} diff --git a/back/controllers/administrateur.controller.js b/back/controllers/administrateur.controller.js new file mode 100644 index 00000000..cd941813 --- /dev/null +++ b/back/controllers/administrateur.controller.js @@ -0,0 +1,12 @@ +const axios = require('axios'); +const mysql = require('mysql'); +var [dbpassword, dbuser] = require('../secrets.js'); + +const dbConfig = { + host: process.env.MYSQL_HOST_IP, + user: dbuser, + password: dbpassword, + database: process.env.MYSQL_DATABASE, +}; + +module.exports = {} diff --git a/back/controllers/equipe.controller.js b/back/controllers/equipe.controller.js index 38498fbd..cf80506c 100644 --- a/back/controllers/equipe.controller.js +++ b/back/controllers/equipe.controller.js @@ -1,11 +1,11 @@ const axios = require('axios'); const mysql = require('mysql'); -var [dbhost, dbpassword, dbuser] = require('../secrets.js'); +var [dbpassword, dbuser] = require('../secrets.js'); const dbConfig = { host: process.env.MYSQL_HOST_IP, - user: process.env.MYSQL_USER, - password: process.env.MYSQL_PASSWORD, + user: dbuser, + password: dbpassword, database: process.env.MYSQL_DATABASE, }; diff --git a/back/controllers/objectifs.controller.js b/back/controllers/objectifs.controller.js index 5c161833..28719fd0 100644 --- a/back/controllers/objectifs.controller.js +++ b/back/controllers/objectifs.controller.js @@ -1,11 +1,11 @@ const axios = require('axios'); const mysql = require('mysql'); -var [dbhost, dbpassword, dbuser] = require('../secrets.js'); +var [dbpassword, dbuser] = require('../secrets.js'); const dbConfig = { host: process.env.MYSQL_HOST_IP, - user: process.env.MYSQL_USER, - password: process.env.MYSQL_PASSWORD, + user: dbuser, + password: dbpassword, database: process.env.MYSQL_DATABASE, }; diff --git a/back/controllers/participant.controller.js b/back/controllers/participant.controller.js index 0abe73ad..916634f3 100644 --- a/back/controllers/participant.controller.js +++ b/back/controllers/participant.controller.js @@ -1,11 +1,11 @@ const axios = require('axios'); const mysql = require('mysql'); -var [dbhost, dbpassword, dbuser] = require('../secrets.js'); +var [dbpassword, dbuser] = require('../secrets.js'); const dbConfig = { host: process.env.MYSQL_HOST_IP, - user: process.env.MYSQL_USER, - password: process.env.MYSQL_PASSWORD, + user: dbuser, + password: dbpassword, database: process.env.MYSQL_DATABASE, }; diff --git a/back/controllers/scores.controller.js b/back/controllers/scores.controller.js index 87ff131c..fb5a047f 100644 --- a/back/controllers/scores.controller.js +++ b/back/controllers/scores.controller.js @@ -1,11 +1,11 @@ const axios = require('axios'); const mysql = require('mysql'); -var [dbhost, dbpassword, dbuser] = require('../secrets.js'); +var [dbpassword, dbuser] = require('../secrets.js'); const dbConfig = { host: process.env.MYSQL_HOST_IP, - user: process.env.MYSQL_USER, - password: process.env.MYSQL_PASSWORD, + user: dbuser, + password: dbpassword, database: process.env.MYSQL_DATABASE, }; diff --git a/back/index.js b/back/index.js index 04b6244b..7dbf45f0 100644 --- a/back/index.js +++ b/back/index.js @@ -1,8 +1,5 @@ var express = require('express'); -var [dbhost, dbpassword, dbuser] = require('./secrets.js'); -var db_port = process.env.DB_PORT || '3036'; - var apiRouter = require('./routes/api'); var app = express(); diff --git a/back/routes/api.js b/back/routes/api.js index 238489f7..330dc48e 100644 --- a/back/routes/api.js +++ b/back/routes/api.js @@ -4,11 +4,8 @@ const fs = require('fs'); const bodyParser = require('body-parser'); - - var controller = require('../controller') - router.use(bodyParser.json()); router.use(bodyParser.urlencoded({ extended: true })); diff --git a/back/secrets.js b/back/secrets.js index 5e95fe77..1569d8dc 100644 --- a/back/secrets.js +++ b/back/secrets.js @@ -1,5 +1,4 @@ -const dbhost = "localhost"; const dbpassword = "samplepassword"; const dbuser = "sampleuser"; -module.exports = [dbhost, dbpassword, dbuser]; +module.exports = [dbpassword, dbuser]; diff --git a/front/src/app/accueil/Accueil.js b/front/src/app/accueil/Accueil.js index 9bf3e745..0005018b 100644 --- a/front/src/app/accueil/Accueil.js +++ b/front/src/app/accueil/Accueil.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; import Objectifs from './objectifs/Objectifs'; import Classements from './Classements'; diff --git a/front/src/app/accueil/Classements.js b/front/src/app/accueil/Classements.js index b9a6affb..f2476282 100644 --- a/front/src/app/accueil/Classements.js +++ b/front/src/app/accueil/Classements.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; import { TableauClassementEquipe } from '../classementEquipe/TableauClassementEquipe'; import { TableauClassementIndividuel } from '../classementIndividuel/TableauClassementIndividuel'; diff --git a/front/src/app/administration/Admin.js b/front/src/app/administration/Admin.js index 13a0badf..9488d995 100644 --- a/front/src/app/administration/Admin.js +++ b/front/src/app/administration/Admin.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; export default () => ( <div class="jumbotron jumbotron-fluid"> diff --git a/front/src/app/administration/GestionAdministrateurs.js b/front/src/app/administration/GestionAdministrateurs.js index 211d42cc..e8326513 100644 --- a/front/src/app/administration/GestionAdministrateurs.js +++ b/front/src/app/administration/GestionAdministrateurs.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; export default () => ( <div>Gestion des administrateurs</div> diff --git a/front/src/app/administration/SaisieScore.js b/front/src/app/administration/GestionScore.js similarity index 86% rename from front/src/app/administration/SaisieScore.js rename to front/src/app/administration/GestionScore.js index a5fe6134..c32691bf 100644 --- a/front/src/app/administration/SaisieScore.js +++ b/front/src/app/administration/GestionScore.js @@ -1,5 +1,5 @@ import React from 'react'; -import { TableauScoresAdmin } from './saisieScore/TableauScoresAdmin'; +import { TableauScoresAdmin } from './gestionScore/TableauScoresAdmin'; export default () => ( <div class="container"> diff --git a/front/src/app/administration/gestionEquipes/EditEquipe.js b/front/src/app/administration/gestionEquipes/EditEquipe.js index 7877e4a3..5118b4ff 100644 --- a/front/src/app/administration/gestionEquipes/EditEquipe.js +++ b/front/src/app/administration/gestionEquipes/EditEquipe.js @@ -1,7 +1,6 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function UpdateEquipe({ match, location }){ @@ -24,8 +23,8 @@ export function UpdateEquipe({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register}/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> diff --git a/front/src/app/administration/gestionEquipes/NouvelleEquipe.js b/front/src/app/administration/gestionEquipes/NouvelleEquipe.js index d1875843..1aec38a6 100644 --- a/front/src/app/administration/gestionEquipes/NouvelleEquipe.js +++ b/front/src/app/administration/gestionEquipes/NouvelleEquipe.js @@ -1,7 +1,6 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AddEquipeForm(){ @@ -24,8 +23,8 @@ export function AddEquipeForm(){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register} required/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register} required/> </div> <button type="submit" class="btn btn-secondary">Ajouter</button> </form> diff --git a/front/src/app/administration/gestionObjectifs/AfficheObjectif.js b/front/src/app/administration/gestionObjectifs/AfficheObjectif.js index 383c36a9..f449eb06 100644 --- a/front/src/app/administration/gestionObjectifs/AfficheObjectif.js +++ b/front/src/app/administration/gestionObjectifs/AfficheObjectif.js @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AfficheObjectif({ match, location }){ @@ -13,6 +12,7 @@ export function AfficheObjectif({ match, location }){ useEffect(() => { objectifs.map(item => { if (item.id==id) {setCurrentObjectif(item)} + return null; }) }); @@ -79,8 +79,8 @@ export function UpdateObjectifName({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register}/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> @@ -109,8 +109,8 @@ export function UpdateObjectifDescription({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="participantInput">Description</label> - <textarea class="form-control" id="participantInput" rows="3" name="description" ref={register}></textarea> + <label for="descriptionInput">Description</label> + <textarea class="form-control" id="descriptionInput" rows="3" name="description" ref={register}></textarea> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> @@ -139,8 +139,8 @@ export function UpdateObjectifValue({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Objectif</label> - <input type="number" class="form-control" id="scoreInput" name="value" ref={register}/> + <label for="valueInput">Objectif</label> + <input type="number" class="form-control" id="valueInput" name="value" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> @@ -169,8 +169,8 @@ export function UpdateObjectifCoef({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Coefficient (utiliser un point et non pas une virgule)</label> - <input class="form-control" id="scoreInput" name="coef" ref={register}/> + <label for="coefInput">Coefficient (utiliser un point et non pas une virgule)</label> + <input class="form-control" id="coefInput" name="coef" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> diff --git a/front/src/app/administration/gestionObjectifs/NouvelObjectif.js b/front/src/app/administration/gestionObjectifs/NouvelObjectif.js index a2738786..ee30dae9 100644 --- a/front/src/app/administration/gestionObjectifs/NouvelObjectif.js +++ b/front/src/app/administration/gestionObjectifs/NouvelObjectif.js @@ -1,7 +1,6 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AddObjectifForm(){ @@ -28,20 +27,20 @@ export function AddObjectifForm(){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register} required/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register} required/> </div> <div class="form-group"> - <label for="participantInput">Description</label> - <textarea class="form-control" id="participantInput" rows="3" name="description" ref={register}></textarea> + <label for="descriptionInput">Description</label> + <textarea class="form-control" id="descriptionInput" rows="3" name="description" ref={register}></textarea> </div> <div class="form-group"> - <label for="equipeInput">Objectif</label> - <input type="number" class="form-control" id="equipeInput" name="value" ref={register} required/> + <label for="valueInput">Objectif</label> + <input type="number" class="form-control" id="valueInput" name="value" ref={register} required/> </div> <div class="form-group"> <label for="coefInput">Coefficient</label> - <input type="number" class="form-control" id="coefInput" name="coef" ref={register}/> + <input type="float" class="form-control" id="coefInput" name="coef" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Ajouter</button> </form> diff --git a/front/src/app/administration/gestionObjectifs/TableauObjectifsAdmin.js b/front/src/app/administration/gestionObjectifs/TableauObjectifsAdmin.js index 57ea8778..fb704a8d 100644 --- a/front/src/app/administration/gestionObjectifs/TableauObjectifsAdmin.js +++ b/front/src/app/administration/gestionObjectifs/TableauObjectifsAdmin.js @@ -13,7 +13,7 @@ export function TableauObjectifsAdmin(){ <th scope="col">Description</th> <th scope="col">Objectif</th> <th scope="col">Coefficient</th> - <th scope="col">Modifier</th> + <th scope="col">Voir</th> <th scope="col">Supprimer</th> </tr> </thead> diff --git a/front/src/app/administration/gestionParticipants/EditParticipant.js b/front/src/app/administration/gestionParticipants/EditParticipant.js index 050a1150..d9129920 100644 --- a/front/src/app/administration/gestionParticipants/EditParticipant.js +++ b/front/src/app/administration/gestionParticipants/EditParticipant.js @@ -1,7 +1,6 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function UpdateParticipant({ match, location }){ @@ -24,8 +23,8 @@ export function UpdateParticipant({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register}/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register}/> </div> <button type="submit" class="btn btn-secondary">Modifier</button> </form> diff --git a/front/src/app/administration/gestionParticipants/NouveauParticipant.js b/front/src/app/administration/gestionParticipants/NouveauParticipant.js index a103c5cf..22dd6e0c 100644 --- a/front/src/app/administration/gestionParticipants/NouveauParticipant.js +++ b/front/src/app/administration/gestionParticipants/NouveauParticipant.js @@ -1,7 +1,6 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AddParticipantForm(){ @@ -24,8 +23,8 @@ export function AddParticipantForm(){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="scoreInput">Nom</label> - <input type="text" class="form-control" id="scoreInput" name="name" ref={register} required/> + <label for="nameInput">Nom</label> + <input type="text" class="form-control" id="nameInput" name="name" ref={register} required/> </div> <button type="submit" class="btn btn-secondary">Ajouter</button> </form> diff --git a/front/src/app/administration/saisieScore/AfficheScore.js b/front/src/app/administration/gestionScore/AfficheScore.js similarity index 96% rename from front/src/app/administration/saisieScore/AfficheScore.js rename to front/src/app/administration/gestionScore/AfficheScore.js index 44064652..706764f1 100644 --- a/front/src/app/administration/saisieScore/AfficheScore.js +++ b/front/src/app/administration/gestionScore/AfficheScore.js @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AfficheScore({ match, location }){ @@ -13,6 +12,7 @@ export function AfficheScore({ match, location }){ useEffect(() => { scores.map(item => { if (item.id==id) {setCurrentScore(item)} + return null; }) }); @@ -145,8 +145,8 @@ export function UpdateScoreParticipant({ match, location }){ <div> <form onSubmit={handleSubmit(onSubmit)}> <div class="form-group"> - <label for="equipeInput">Equipe</label> - <select class="form-control" id="equipeInput" name="participant" ref={register}> + <label for="participantInput">Equipe</label> + <select class="form-control" id="participantInput" name="participant" ref={register}> {participants.map(item => (<option value={item.id}>{item.name}</option>))} </select> </div> diff --git a/front/src/app/administration/saisieScore/DeleteScore.js b/front/src/app/administration/gestionScore/DeleteScore.js similarity index 87% rename from front/src/app/administration/saisieScore/DeleteScore.js rename to front/src/app/administration/gestionScore/DeleteScore.js index ae6ec1fa..9adfbf4b 100644 --- a/front/src/app/administration/saisieScore/DeleteScore.js +++ b/front/src/app/administration/gestionScore/DeleteScore.js @@ -14,7 +14,7 @@ export function DeleteScore({ match, location }){ }); return( - <div><h1>Suppression du score...</h1></div> + <div><h1>Suppression...</h1></div> ) }; diff --git a/front/src/app/administration/saisieScore/NouveauScore.js b/front/src/app/administration/gestionScore/NouveauScore.js similarity index 97% rename from front/src/app/administration/saisieScore/NouveauScore.js rename to front/src/app/administration/gestionScore/NouveauScore.js index 1212f9e3..d825d5c2 100644 --- a/front/src/app/administration/saisieScore/NouveauScore.js +++ b/front/src/app/administration/gestionScore/NouveauScore.js @@ -1,7 +1,6 @@ import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { useForm } from 'react-hook-form'; -import { Redirect } from 'react-router-dom'; export function AddScoreForm(){ diff --git a/front/src/app/administration/saisieScore/TableauScoresAdmin.js b/front/src/app/administration/gestionScore/TableauScoresAdmin.js similarity index 96% rename from front/src/app/administration/saisieScore/TableauScoresAdmin.js rename to front/src/app/administration/gestionScore/TableauScoresAdmin.js index 3762f3cb..25d303f8 100644 --- a/front/src/app/administration/saisieScore/TableauScoresAdmin.js +++ b/front/src/app/administration/gestionScore/TableauScoresAdmin.js @@ -13,7 +13,7 @@ export function TableauScoresAdmin(){ <th scope="col">Score</th> <th scope="col">Participant</th> <th scope="col">Equipe</th> - <th scope="col">Modifier</th> + <th scope="col">Voir</th> <th scope="col">Supprimer</th> </tr> </thead> diff --git a/front/src/app/classementEquipe/ClassementEquipe.js b/front/src/app/classementEquipe/ClassementEquipe.js index 6388316f..093ebf69 100644 --- a/front/src/app/classementEquipe/ClassementEquipe.js +++ b/front/src/app/classementEquipe/ClassementEquipe.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; import { TableauClassementEquipe } from './TableauClassementEquipe'; export default () => ( diff --git a/front/src/app/classementIndividuel/ClassementIndividuel.js b/front/src/app/classementIndividuel/ClassementIndividuel.js index a8f56557..fcbcd5e3 100644 --- a/front/src/app/classementIndividuel/ClassementIndividuel.js +++ b/front/src/app/classementIndividuel/ClassementIndividuel.js @@ -1,5 +1,4 @@ import React from 'react'; -//import { Link } from 'react-router-dom'; import { TableauClassementIndividuel } from './TableauClassementIndividuel'; export default () => ( diff --git a/front/src/app/navbar/Navbar.js b/front/src/app/navbar/Navbar.js index 8c512c07..b946914c 100644 --- a/front/src/app/navbar/Navbar.js +++ b/front/src/app/navbar/Navbar.js @@ -14,7 +14,7 @@ export default () => ( <Nav.Link href="/solo">Classement individuel</Nav.Link> <Nav.Link href="/team">Classement par équipe</Nav.Link> <NavDropdown title="Administration" id="basic-nav-dropdown"> - <NavDropdown.Item href="/admin/scores">Saisie des scores</NavDropdown.Item> + <NavDropdown.Item href="/admin/scores">Gestion des scores</NavDropdown.Item> <NavDropdown.Item href="/admin/equipes">Gestion des équipes</NavDropdown.Item> <NavDropdown.Item href="/admin/participants">Gestion des participants</NavDropdown.Item> <NavDropdown.Item href="/admin/objectifs">Gestion des objectifs</NavDropdown.Item> diff --git a/front/src/index.js b/front/src/index.js index 7e7489f4..43261263 100644 --- a/front/src/index.js +++ b/front/src/index.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React from 'react'; import ReactDOM from 'react-dom'; import { BrowserRouter as Router, Route } from 'react-router-dom'; import Navbar from './app/navbar/Navbar'; @@ -6,17 +6,14 @@ import Accueil from './app/accueil/Accueil'; import Admin from './app/administration/Admin'; import ClassementEquipe from './app/classementEquipe/ClassementEquipe'; import ClassementIndividuel from './app/classementIndividuel/ClassementIndividuel'; -import SaisieScore from './app/administration/SaisieScore'; +import GestionScore from './app/administration/GestionScore'; import GestionEquipes from './app/administration/GestionEquipes'; import GestionParticipants from './app/administration/GestionParticipants'; import GestionAdministrateurs from './app/administration/GestionAdministrateurs'; import GestionObjectifs from './app/administration/GestionObjectifs'; -import { AddScoreForm } from './app/administration/saisieScore/NouveauScore'; -import { AfficheScore } from './app/administration/saisieScore/AfficheScore'; -import { UpdateScoreScore } from './app/administration/saisieScore/AfficheScore'; -import { UpdateScoreEquipe } from './app/administration/saisieScore/AfficheScore'; -import { UpdateScoreParticipant } from './app/administration/saisieScore/AfficheScore'; -import { DeleteScore } from './app/administration/saisieScore/DeleteScore'; +import { AddScoreForm } from './app/administration/gestionScore/NouveauScore'; +import { AfficheScore, UpdateScoreScore, UpdateScoreEquipe, UpdateScoreParticipant } from './app/administration/gestionScore/AfficheScore'; +import { DeleteScore } from './app/administration/gestionScore/DeleteScore'; import { AddEquipeForm } from './app/administration/gestionEquipes/NouvelleEquipe'; import { UpdateEquipe } from './app/administration/gestionEquipes/EditEquipe'; import { DeleteEquipe } from './app/administration/gestionEquipes/DeleteEquipe'; @@ -24,11 +21,7 @@ import { AddParticipantForm } from './app/administration/gestionParticipants/Nou import { UpdateParticipant } from './app/administration/gestionParticipants/EditParticipant'; import { DeleteParticipant } from './app/administration/gestionParticipants/DeleteParticipant'; import { AddObjectifForm } from './app/administration/gestionObjectifs/NouvelObjectif'; -import { AfficheObjectif } from './app/administration/gestionObjectifs/AfficheObjectif'; -import { UpdateObjectifName } from './app/administration/gestionObjectifs/AfficheObjectif'; -import { UpdateObjectifDescription } from './app/administration/gestionObjectifs/AfficheObjectif'; -import { UpdateObjectifValue } from './app/administration/gestionObjectifs/AfficheObjectif'; -import { UpdateObjectifCoef } from './app/administration/gestionObjectifs/AfficheObjectif'; +import { AfficheObjectif, UpdateObjectifName, UpdateObjectifDescription, UpdateObjectifValue, UpdateObjectifCoef } from './app/administration/gestionObjectifs/AfficheObjectif'; import { DeleteObjectif } from './app/administration/gestionObjectifs/DeleteObjectif'; import './index.css'; @@ -38,16 +31,17 @@ ReactDOM.render( <Router> <div> <Route path="/" component={Navbar} /> + <Route exact path="/" component={Accueil} /> <Route path="/home" component={Accueil} /> <Route path="/solo" component={ClassementIndividuel} /> <Route path="/team" component={ClassementEquipe} /> <Route path="/admin" component={Admin} /> - <Route exact path="/admin/scores" component={SaisieScore} /> - <Route path="/admin/scores/nouveau" component={AddScoreForm} /> + <Route exact path="/admin/scores" component={GestionScore} /> <Route exact path="/admin/equipes" component={GestionEquipes} /> <Route exact path="/admin/participants" component={GestionParticipants} /> - <Route exact path="/admin/admins" component={GestionAdministrateurs} /> <Route exact path="/admin/objectifs" component={GestionObjectifs} /> + <Route exact path="/admin/admins" component={GestionAdministrateurs} /> + <Route path="/admin/scores/nouveau" component={AddScoreForm} /> <Route path="/admin/scores/view/:id" component={AfficheScore} /> <Route path="/admin/scores/edit/score/:id" component={UpdateScoreScore} /> <Route path="/admin/scores/edit/equipe/:id" component={UpdateScoreEquipe} /> diff --git a/old.index.js b/old.index.js deleted file mode 100644 index 67cfa3c2..00000000 --- a/old.index.js +++ /dev/null @@ -1,70 +0,0 @@ -const cors = require('cors'); -const express = require('express'), - app = express(), - bodyParser = require('body-parser'); -const mysql = require('mysql'); - -//Connect to the database -const pool = mysql.createPool({ - host: process.env.MYSQL_HOST_IP, - user: process.env.MYSQL_USER, - password: process.env.MYSQL_PASSWORD, - database: process.env.MYSQL_DATABASE, -}); - -app.use(cors()); - -//Listen to frontend -app.listen(process.env.REACT_APP_SERVER_PORT, () => { - console.log(`App server now listening on port ${process.env.REACT_APP_SERVER_PORT}`); -}); - -//Get data for team ranking -app.get('/classement_par_equipes', (req, res) => { - pool.query(`SELECT Equipe.name,SUM(score) AS score,COUNT(participantId) AS nbParticipant,COUNT(score) AS nbScores FROM Score JOIN Equipe ON Equipe.id=Score.equipeId GROUP BY equipeId ORDER BY score DESC;`, (err, results) => { - if (err) { - return res.send(err); - } else { - return res.send(results); - } - }); -}); - -//Get data for individual ranking -app.get('/classement_individuel', (req, res) => { - pool.query(`SELECT Participant.name,SUM(score) AS score,COUNT(equipeId) AS nbEquipes,COUNT(score) AS nbScores FROM Score JOIN Participant ON Participant.id=Score.participantId GROUP BY participantId ORDER BY score DESC;`, (err, results) => { - if (err) { - return res.send(err); - } else { - return res.send(results); - } - }); -}); - -//Get data about goals -app.get('/objectifs', (req, res) => { - pool.query(`SELECT name,description,value,coef,realise FROM Objectif CROSS JOIN (SELECT SUM(score) as realise FROM Score) AS Realise ORDER BY value DESC;`, (err, results) => { - if (err) { - return res.send(err); - } else { - return res.send(results); - } - }); -}); - -//Get scores for admin page -app.get('/scores_admin', (req, res) => { - pool.query(`SELECT Score.id,score,Participant.name AS participant,Equipe.name AS equipe,createdAt as date FROM Score LEFT JOIN Participant ON Participant.id=Score.ParticipantId LEFT JOIN Equipe ON Score.equipeId=Equipe.id ORDER BY date DESC;`, (err, results) => { - if (err) { - return res.send(err); - } else { - return res.send(results); - } - }); -}); - -//Handle add score request -app.post('/test', function(req, res) { - console.log(req.data); - res.sendStatus(200); -}); -- GitLab