Skip to content
Snippets Groups Projects
Commit ce2f6bc3 authored by julien.debray's avatar julien.debray
Browse files

Merge branch 'mobile_subs_conn' into 'main'

Deleted rpg_app/assets/fonts/Inter-Bold.ttf,...

See merge request !15
parents 189cfe68 32b8dd6d
No related branches found
No related tags found
1 merge request!15Deleted rpg_app/assets/fonts/Inter-Bold.ttf,...
Showing
with 183 additions and 197 deletions
...@@ -4,34 +4,12 @@ const db = require('./DatabaseConnection') ...@@ -4,34 +4,12 @@ const db = require('./DatabaseConnection')
const app = express() const app = express()
const port = 3001 const port = 3001
const cors = require('cors');
app.use(bodyParser.json()); app.use(bodyParser.json());
app.use(cors({
origin: '*'
}));
app.get('/', (req, res) => { app.get('/', (req, res) => {
res.send('Hello World!') res.send('Hello World!')
}) })
app.get('/liste-rdv-magasin', (req, res) => {
let date = formatDate(req.body.date);
let id_address = req.body.id_address;
db.executeQuery("SELECT * FROM Rendez_Vous where Id_Adresse = " + id_address + " and Date = " + date)
.then((result) => {
console.log(result);
res.status(200).send(result);
})
.catch((err) => {
res.status(500).send(err);
});
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
app.post('/liste-horaires', (req, res) => { app.post('/liste-horaires', (req, res) => {
let date = formatDate(req.body.date); let date = formatDate(req.body.date);
console.log(date) console.log(date)
...@@ -43,24 +21,16 @@ app.post('/liste-horaires', (req, res) => { ...@@ -43,24 +21,16 @@ app.post('/liste-horaires', (req, res) => {
}); });
}) })
app.get('/prendre-rdv', (req, res) => {
selectAppointmentWithDate(req.body.date, 'Heure').then((result) => {
res.status(200).send(result);
}).catch((err) => {
res.status(500).send(err);
});
})
app.post('/prendre-rdv', (req, res) => { app.post('/prendre-rdv', (req, res) => {
selectAppointmentWithDate(req.body.date, 'Heure, Id_Adresse').then((result) => { let date = formatDate(req.body.date);
selectAppointmentWithDate(date,req.body.address, 'Heure, Id_Adresse').then((result) => {
for(let i = 0; i < result.length; i++) { for(let i = 0; i < result.length; i++) {
if(result[i].Heure == req.body.hour && result[i].Id_Adresse == req.body.address) { if(result[i].Heure == req.body.hour && result[i].Id_Adresse == req.body.address) {
res.status(400).send("Horaire déjà pris"); res.status(400).send("Horaire déjà pris");
return; return;
} }
} }
let date = formatDate(req.body.date);
let hour = req.body.hour; let hour = req.body.hour;
let client = req.body.client; let client = req.body.client;
let address = req.body.address; let address = req.body.address;
...@@ -88,107 +58,71 @@ app.get('/liste-magasins', (req, res) => { ...@@ -88,107 +58,71 @@ app.get('/liste-magasins', (req, res) => {
}); });
}) })
app.delete('/supp-rendez-vous', (req, res) => { app.post('/liste-rdv', (req, res) => {
let date = formatDate(req.body.date); let client_id = req.body.client_id
db.executeQuery("SELECT * FROM rendez_vous WHERE Id_RDV = " + req.body.idrdv + " AND Id_Client = " + req.body.idclient) db.executeQuery("SELECT * FROM Rendez_Vous JOIN Adresse on Rendez_Vous.Id_Adresse = Adresse.Id_Adresse WHERE Id_Client = " + client_id + " ORDER BY Date DESC")
.then((result) => { .then((result) => {
if(formatDate(result[0]['Date']) > date){ for (let i = 0; i < result.length; i++) {
db.executeQuery("DELETE FROM rendez_vous WHERE Id_RDV = " + req.body.idrdv) console.log(formatDate(result[i].Date))
.then(r => { result[i].Date = formatDate(result[i].Date);
console.log(r)
res.status(200).send(r);
})
.catch((err) => {
res.status(500).send(err);
})
} else {
res.status(500).send("Impossible de supprimer un rendez-vous déjà passé.");
} }
console.log(result);
res.status(200).send(result);
}) })
.catch((err) => { .catch((err) => {
res.status(500).send("Aucun rendez-vous à annuler"); console.log(err);
}) res.status(500).send(err);
});
}) })
app.post('/ajouter-conseil', (req, res) => {
let id_rdv = req.body.idrdv;
let description = req.body.description;
let id_article = req.body.idarticle app.post('/login', (req, res) => {
let has_bought = req.body.hasbought; let mail = req.body.mail;
let password = req.body.password;
console.log("login request")
console.log(mail)
console.log(password)
if(typeof id_article === 'undefined'){
db.executeQuery('INSERT INTO conseil (Description, id_RDV) VALUES ("' + description + '", "' + id_rdv + '")') db.executeQuery("SELECT * FROM Client WHERE Mail = '" + mail + "' AND Password = '" + password + "'")
.then(() => { .then((result) => {
res.status(200).send("Le conseil à bien été ajouté."); console.log(result.length)
}) if(result.length > 0){
.catch((err) => { res.status(200).send(result);
res.status(500).send(err);
});
} else { } else {
if(typeof has_bought === 'undefined'){ res.status(204).send("Les informations de connection sont pas les bonnes");
has_bought = 0;
} }
db.executeQuery('INSERT INTO conseil (Description, Has_Bought, Id_RDV, Id_Article) VALUES ("' + description + '", "' + has_bought + '", "' + id_rdv + '", "' + id_article + '")')
.then(() => {
res.status(200).send("Le conseil à bien été ajouté.");
}) })
.catch((err) => { .catch((err) => {
res.status(500).send(err); console.log(err);
}); });
}
}) })
app.post('/inscription', (req, res) => { app.post('/inscription', (req, res) => {
console.log("inscription request")
console.log(req.body)
let date = formatDate(req.body.date_naissance);
db.executeQuery("INSERT INTO `Client` (`Id_Client`, `Nom`, `Prenom`, `Mail`, `Password`, `Date_Naissance`, `Sexe`, `Taille`, `Poids`, `Pointure`, `IsAdmin`) VALUES (NULL, '" db.executeQuery("INSERT INTO `Client` (`Id_Client`, `Nom`, `Prenom`, `Mail`, `Password`, `Date_Naissance`, `Sexe`, `Taille`, `Poids`, `Pointure`, `IsAdmin`) VALUES (NULL, '"
+ req.body.nom + "', '" + req.body.prenom + "', '" + req.body.email + "', '" + req.body.password + "', '" + req.body.nom + "', '" + req.body.prenom + "', '" + req.body.email + "', '" + req.body.password + "', '"
+ req.body.date_naissance + "', '" + req.body.sexe + "', '" + req.body.taille + "', '" + date + "', '" + req.body.sexe + "', '" + req.body.taille + "', '"
+ req.body.poids + "', '" + req.body.pointure + "', '0')") + req.body.poids + "', '" + req.body.pointure + "', '0')")
.then(() => { .then(() => {
res.status(200).send("Le client à bien été ajouté."); res.status(200).send("Le client à bien été ajouté.");
}) })
.catch((err) => { .catch((err) => {
console.log(err)
res.status(500).send(err); res.status(500).send(err);
}); });
}) })
app.put('/update-conseil', (req, res) => { app.post('/supp-rendez-vous', (req, res) => {
let id_conseil = req.body.idconseil; let date = formatDate(req.body.date);
let description = req.body.description;
let id_article = req.body.idarticle
let has_bought = req.body.hasbought;
if(typeof id_article === 'undefined'){
db.executeQuery('UPDATE conseil SET Description = "' + description + '" WHERE Id_Conseil = "' + id_conseil + '"')
.then(() => {
res.status(200).send("Le conseil à bien été mis à jour.");
})
.catch((err) => {
res.status(500).send(err);
});
} else {
if(typeof has_bought === 'undefined'){
has_bought = 0;
}
db.executeQuery('UPDATE conseil SET Description = "' + description + '", Id_Article = "' + id_article + '", Has_Bought = "' + has_bought + '" WHERE Id_Conseil = "' + id_conseil + '"')
.then(() => {
res.status(200).send("Le conseil à bien été mis à jour.");
})
.catch((err) => {
res.status(500).send(err);
});
}
})
/* app.put('/update-rendez-vous', (req, res) => {
let realDate = formatDate(req.body.realdate);
let newDate = formatDate(req.body.newdate);
let heure = formatHour(req.body.heure);
db.executeQuery("SELECT * FROM rendez_vous WHERE Id_RDV = " + req.body.idrdv + " AND Id_Client = " + req.body.idclient) db.executeQuery("SELECT * FROM rendez_vous WHERE Id_RDV = " + req.body.idrdv + " AND Id_Client = " + req.body.idclient)
.then((result) => { .then((result) => {
if(formatDate(result[0]['Date']) > date){ console.log(formatDate(result[0]['Date']))
db.executeQuery("UPDATE rendez_vous SET Date = " + date + " AND Heure = " + heure + " WHERE Id_RDV = " + result[0]['Id_RDV'] + " AND Id_Client = " + result[0]['Id_Client']) if(formatDate(result[0]['Date']) >= date){
db.executeQuery("DELETE FROM rendez_vous WHERE Id_RDV = " + req.body.idrdv)
.then(r => { .then(r => {
console.log(r) console.log(r)
res.status(200).send(r); res.status(200).send(r);
...@@ -197,20 +131,26 @@ app.put('/update-conseil', (req, res) => { ...@@ -197,20 +131,26 @@ app.put('/update-conseil', (req, res) => {
res.status(500).send(err); res.status(500).send(err);
}) })
} else { } else {
res.status(500).send("Impossible de modifier un rendez-vous déjà passé."); res.status(500).send("Impossible de supprimer un rendez-vous déjà passé.");
} }
}) })
.catch((err) => { .catch((err) => {
res.status(500).send("Aucun rendez-vous à modifier"); res.status(500).send("Aucun rendez-vous à annuler");
})
}) })
})*/
function selectAppointmentWithDate(date, column = "*") { app.listen(port, () => {
return db.executeQuery("SELECT " + column + " FROM Rendez_Vous WHERE DATE='" + date + "'") console.log(`Example app listening on port ${port}`)
})
function selectAppointmentWithDate(date,address, column = "*") {
return db.executeQuery("SELECT " + column + " FROM Rendez_Vous WHERE DATE=" + date + " AND Id_Adresse="+address)
.then((result) => { .then((result) => {
console.log(result)
for (let i = 0; i < result.length; i++) { for (let i = 0; i < result.length; i++) {
result[i].Heure = formatHour(result[i].Heure); result[i].Heure = formatHour(result[i].Heure);
} }
console.log(result); console.log(result);
......
...@@ -4,7 +4,7 @@ var config = { ...@@ -4,7 +4,7 @@ var config = {
host: "localhost", host: "localhost",
port: "3306", port: "3306",
user: "root", user: "root",
password: "root", password: "Super$2012",
database: "mydb" database: "mydb"
}; };
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUPrendez_vous_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Schema mydb -- Schema mydb
...@@ -48,6 +48,7 @@ CREATE TABLE IF NOT EXISTS `mydb`.`Adresse` ( ...@@ -48,6 +48,7 @@ CREATE TABLE IF NOT EXISTS `mydb`.`Adresse` (
PRIMARY KEY (`Id_Adresse`)) PRIMARY KEY (`Id_Adresse`))
ENGINE = InnoDB; ENGINE = InnoDB;
-- ----------------------------------------------------- -- -----------------------------------------------------
-- Table `mydb`.`Rendez_Vous` -- Table `mydb`.`Rendez_Vous`
-- ----------------------------------------------------- -- -----------------------------------------------------
...@@ -96,10 +97,8 @@ ENGINE = InnoDB; ...@@ -96,10 +97,8 @@ ENGINE = InnoDB;
-- ----------------------------------------------------- -- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Article` ( CREATE TABLE IF NOT EXISTS `mydb`.`Article` (
`Id_Article` INT NOT NULL AUTO_INCREMENT, `Id_Article` INT NOT NULL AUTO_INCREMENT,
`Nom` VARCHAR(80) NOT NULL, `Nom` VARCHAR(80) NULL,
`Description` VARCHAR(80) NULL, `Description` VARCHAR(80) NULL,
`Image` VARCHAR(250) NULL,
`Prix` INT NOT NULL,
PRIMARY KEY (`Id_Article`)) PRIMARY KEY (`Id_Article`))
ENGINE = InnoDB; ENGINE = InnoDB;
...@@ -112,7 +111,7 @@ CREATE TABLE IF NOT EXISTS `mydb`.`Conseil` ( ...@@ -112,7 +111,7 @@ CREATE TABLE IF NOT EXISTS `mydb`.`Conseil` (
`Description` VARCHAR(80) NULL, `Description` VARCHAR(80) NULL,
`Has_Bought` TINYINT(1) NULL, `Has_Bought` TINYINT(1) NULL,
`Id_RDV` INT NOT NULL, `Id_RDV` INT NOT NULL,
`Id_Article` INT NULL, `Id_Article` INT NOT NULL,
PRIMARY KEY (`Id_Conseil`), PRIMARY KEY (`Id_Conseil`),
INDEX `fk_Conseil_Rendez_Vous1_idx` (`Id_RDV` ASC) VISIBLE, INDEX `fk_Conseil_Rendez_Vous1_idx` (`Id_RDV` ASC) VISIBLE,
INDEX `fk_Conseil_Article1_idx` (`Id_Article` ASC) VISIBLE, INDEX `fk_Conseil_Article1_idx` (`Id_Article` ASC) VISIBLE,
......
...@@ -11,10 +11,10 @@ VALUES ...@@ -11,10 +11,10 @@ VALUES
('Rue Francois Durafour 13', '1220', 'Vernier', 'https://i.skyrock.net/9640/6429640/pics/164610040_small.jpg'); ('Rue Francois Durafour 13', '1220', 'Vernier', 'https://i.skyrock.net/9640/6429640/pics/164610040_small.jpg');
INSERT INTO mydb.Article INSERT INTO mydb.Article
(Nom, Description, Image, Prix) (Nom, Description)
VALUES VALUES
('Bar protein', 'Je suis bonne.', 'https://image.migros.ch/mo-boxed/v-w-480-h-360/af37a13a9d139d707adb40eab1bc31d3db6133d0/sponser-low-carb-bar-choco-brownie.jpg', '2'), ('Bar protein', 'Je suis bonne.'),
('Chaussure Betton', 'Tu vas beton.', 'https://static.nike.com/a/images/t_PDP_1728_v1/d6420cb8-3eb5-4fb8-ab0e-5676a75710cb/chaussure-de-running-sur-route-pegasus-39-pour-tw7PWn.png', '110'); ('Chaussure Betton', 'Tu vas beton.');
INSERT INTO mydb.Rendez_Vous INSERT INTO mydb.Rendez_Vous
(Date, Heure, Description, Id_Client, Id_Adresse) (Date, Heure, Description, Id_Client, Id_Adresse)
...@@ -38,7 +38,7 @@ INSERT INTO mydb.Jour ...@@ -38,7 +38,7 @@ INSERT INTO mydb.Jour
(Nom) (Nom)
VALUES VALUES
('Lundi'), ('Lundi'),
('Mardi'), ('Mardi'),adresseadresse
('Mercredi'), ('Mercredi'),
('Jeudi'), ('Jeudi'),
('Vendredi'); ('Vendredi');
......
INSERT INTO mydb.Rendez_Vous
(Date, Heure, Description, Id_Client, Id_Adresse)
VALUES
('2022-12-05', '14:30', 'Premier visite',(SELECT Id_Client FROM mydb.Client WHERE Prenom = 'André'), (SELECT Id_Adresse FROM mydb.Adresse WHERE Adresse = 'Rue Grange-Levrier 1')),
('2022-11-27', '19:00', 'Visite pour verifier la progression de la course',(SELECT Id_Client FROM mydb.Client WHERE Prenom = 'Valentin'), (SELECT Id_Adresse FROM mydb.Adresse WHERE Adresse = 'Rue Francois Durafour 13'));
\ No newline at end of file
INSERT INTO mydb.Video
(Nom_Fichier, Id_RDV)
VALUES
('Andre-Course-2022-12-05', (SELECT Id_RDV FROM mydb.Rendez_Vous WHERE Date = '2022-12-05')),
('Valentin-Fente-2022-11-27', (SELECT Id_RDV FROM mydb.Rendez_Vous WHERE Date = '2022-11-27'));
\ No newline at end of file
INSERT INTO mydb.Adresse
(Adresse, Code_Postal, Ville, Image)
VALUES
('Rue Grange-Levrier 1', '1220', 'Vernier', 'https://i.skyrock.net/9640/6429640/pics/164610040_small.jpg'),
('Rue Francois Durafour 13', '1220', 'Vernier', 'https://i.skyrock.net/9640/6429640/pics/164610040_small.jpg');
\ No newline at end of file
INSERT INTO mydb.Article
(Nom, Description)
VALUES
('Bar protein', 'Je suis bonne.'),
('Chaussure Betton', 'Tu vas beton.');
\ No newline at end of file
INSERT INTO mydb.Client
(Nom, Prenom, Mail, Password, Date_Naissance, Sexe, Taille, Poids, Pointure, IsAdmin)
VALUES
('Acevedo', 'Valentin', 'valentin.acevedo@etu.hesge.ch', 'bibulus', '2023-01-17', 'Homme', '197', '76', '45', '1'),
('Gouveia', 'André', 'andre.gouveiad@etu.hesge.ch', 'babalos', '2023-01-04', 'Homme', '195', '120', '47', 0);
\ No newline at end of file
INSERT INTO mydb.Conseil
(Description, Has_Bought, Id_RDV, Id_Article)
VALUES
('Faire exercices pour fésier pour le genoux. La bar permetera de faire muscles', 0, (SELECT Id_RDV FROM mydb.Rendez_vous WHERE Date = '2022-12-05'), (SELECT Id_Article FROM mydb.Article WHERE Nom = 'Bar protein')),
('Meilleur maintien de la cheville. Plus adapter pour la plante des pieds', 1, (SELECT Id_RDV FROM mydb.Rendez_vous WHERE Date = '2022-11-27'), (SELECT Id_Article FROM mydb.Article WHERE Nom = 'Chaussure Betton'));
\ No newline at end of file
INSERT INTO mydb.Horaire
(Heure_Debut, Heure_Fin, Id_Jour)
VALUES
('08:00', '19:30', (SELECT Id_Jour FROM mydb.Jour WHERE Nom = 'Lundi')),
('08:00', '18:00', (SELECT Id_Jour FROM mydb.Jour WHERE Nom = 'Mercredi'));
\ No newline at end of file
INSERT INTO mydb.Jour
(Nom)
VALUES
('Lundi'),
('Mardi'),
('Mercredi'),
('Jeudi'),
('Vendredi');
\ No newline at end of file
...@@ -4,8 +4,10 @@ import { useFonts } from "expo-font"; ...@@ -4,8 +4,10 @@ import { useFonts } from "expo-font";
import Home from './screens/Home'; import Home from './screens/Home';
import Details from './screens/Details'; import Details from './screens/Details';
import Accounts from './screens/Accounts'; import RdvScreen from './screens/RdvScreen';
import RdvScreen from './screens/RdvScreen' import Subscription from './screens/Subscription';
import Connexion from './screens/Connexion';
import UpdateAccount from './screens/UpdateAccount';
const Stack = createStackNavigator(); const Stack = createStackNavigator();
...@@ -30,11 +32,13 @@ const App = () => { ...@@ -30,11 +32,13 @@ const App = () => {
return ( return (
<NavigationContainer theme={theme}> <NavigationContainer theme={theme}>
<Stack.Navigator screenOptions={{headerShown: false}} initialRouteName="Home"> <Stack.Navigator screenOptions={{headerShown: false}} initialRouteName="Connexion">
<Stack.Screen name="Home" component={Home}/> <Stack.Screen name="Home" component={Home}/>
<Stack.Screen name="Details" component={Details}/> <Stack.Screen name="Details" component={Details}/>
<Stack.Screen name="Accounts" component={Accounts}/>
<Stack.Screen name="RdvScreen" component={RdvScreen}/> <Stack.Screen name="RdvScreen" component={RdvScreen}/>
<Stack.Screen name="Subscription" component={Subscription}/>
<Stack.Screen name="Connexion" component={Connexion}/>
<Stack.Screen name="UpdateAccount" component={UpdateAccount}/>
</Stack.Navigator> </Stack.Navigator>
</NavigationContainer> </NavigationContainer>
); );
......
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment