Merge branch 'master' into Springboot

Springboot
Victor SOULIER 1 year ago
commit 46dbcb1700

@ -46,12 +46,12 @@ entity "Utilisateur" as utilisateur {
entity "Invite" as invite {
<u>#idJoueur : int
<u>idSession : int
}
entity "Partie" as partie {
<u>id : int
codeInvitation : string
isStarted: bool
#idJeu : int
}
@ -84,11 +84,46 @@ entity "Question" as question {
question : string
}
entity "Action" as action {
<u>id : int
dateAction : date
}
entity "Jouer" as jouer {
#idAction
#idPartie
}
entity "ActionPendu" as actionPendu {
<u>#idAction
lettre : char
wordToFind : string
lifeLeft : int
}
entity "ActionKahoot" as actionKahoot {
<u>#idAction
numReponse: int
tempsReponse: int
#idJoueur
}
entity "ActionQuiEstCe" as actionQuiEstCe {
<u>#idAction
#idJoueur
}
actionPendu --> action
actionQuiEstCe --> action
actionQuiEstCe --> joueur
actionKahoot --> action
actionKahoot --> joueur
jouer --> action
jouer --> partie
partie --> jeu
partie <-- joueur
invite --> joueur
utilisateur --> joueur
utilisateur --> scientifique
scientifique --> thematique
scientifique --> difficulte
scientifique --> indice

@ -1,11 +1,10 @@
**Jeu(<ins>id</ins>, nom, nbrParties)**
- *id* : clef primaire de la table Jeu
**Scientifique(<ins>id</ins>, nom, prenom, photo, dateNaissance, descriptif, ratioTrouvee, #idThematique, #idDifficulte, #idSexe)**
**Scientifique(<ins>id</ins>, nom, prenom, photo, dateNaissance, descriptif, ratioTrouvee, sexe, #idThematique, #idDifficulte)**
- *id* : clef primaire de la table Scientifique
- *#idThematique* clef étrangère en référence à *id* de la table Thematique
- *#idDifficulte* clef étrangère en référence à *id* de la table Difficulté
- *#idSexe* clef étrangère en référence à *id* de la table Sexe
**Thematique(<ins>id</ins>, libelle)**
- *id* : clef primaire de la table Thematique
@ -13,23 +12,20 @@
**Difficulté(<ins>id</ins>, libelle)**
- *id* : clef primaire de la table Difficulté
**Sexe(<ins>id</ins>, libelle)**
- *id* : clef primaire de la table Sexe
**Joueur(<ins>id</ins>, pseudo)**
**Joueur(<ins>id</ins>, pseudo, #idPartie)**
- *id* : clef primaire de la table Joueur
- *#idPartie* : clef étrangère en référence à *id* de la table Partie
**Utilisateur(<ins>#idJoueur</ins>, email, motDePasse, pseudo)**
- *idJoueur* : clef primaire de la table Joueur
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
**Invite(<ins>#idJoueur</ins>, idSession)**
**Invite(<ins>#idJoueur</ins>)**
- *idJoueur* : clef primaire de la table Joueur
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
**Partie(<ins>id</ins>, codeInvitation, #idJoueur, #idJeu)**
**Partie(<ins>id</ins>, codeInvitation, #idJeu)**
- *id* : clef primaire de la table Partie
- *#idJoueur* : clef étrangère en référence à *id* de la table Joueur
- *#idJeu* : clef étrangère en référence à *id* de la table Jeu
**Admin(<ins>#id</ins>, email, motDePasse)**

@ -1,29 +1,17 @@
-- Testé sous pgsql 15
DROP TABLE IF EXISTS Reponse;
DROP TABLE IF EXISTS Question;
DROP TABLE IF EXISTS Admin;
DROP TABLE IF EXISTS Partie;
DROP TABLE IF EXISTS Jeu;
DROP TABLE IF EXISTS Decouvrir;
DROP TABLE IF EXISTS Utilisateur;
DROP TABLE IF EXISTS Invite;
DROP TABLE IF EXISTS Joueur;
DROP TABLE IF EXISTS Indice;
DROP TABLE IF EXISTS Scientifique;
DROP TABLE IF EXISTS Thematique;
DROP TABLE IF EXISTS Reponse CASCADE;
DROP TABLE IF EXISTS Question CASCADE;
DROP TABLE IF EXISTS Admin CASCADE;
DROP TABLE IF EXISTS Partie CASCADE;
DROP TABLE IF EXISTS Jeu CASCADE;
DROP TABLE IF EXISTS Decouvrir CASCADE;
DROP TABLE IF EXISTS Utilisateur CASCADE;
DROP TABLE IF EXISTS Invite CASCADE;
DROP TABLE IF EXISTS Joueur CASCADE;
DROP TABLE IF EXISTS Indice CASCADE;
DROP TABLE IF EXISTS Scientifique CASCADE;
DROP TABLE IF EXISTS Thematique CASCADE;
DROP TABLE IF EXISTS Difficulte;
@ -55,7 +43,7 @@ CREATE TABLE Scientifique(
ratioTrouvee numeric(5,4),
sexe char(1) NOT NULL CHECK(sexe IN ('F', 'H')),
idThematique integer REFERENCES Thematique(id),
idDifficulte integer REFERENCES Difficulte(id),
idDifficulte integer REFERENCES Difficulte(id)
);
@ -63,7 +51,7 @@ CREATE TABLE Scientifique(
CREATE TABLE Indice(
id SERIAL PRIMARY KEY,
libelle varchar(512) NOT NULL UNIQUE,
libelle varchar(512) NOT NULL,
idScientifique integer REFERENCES Scientifique(id)
);
@ -93,6 +81,22 @@ CREATE TABLE Admin(
password varchar(255) NOT NULL
);
-- Jeu
CREATE TABLE Jeu(
id SERIAL PRIMARY KEY,
nom varchar(128) NOT NULL UNIQUE,
nbrParties integer NOT NULL DEFAULT 0
);
-- Partie
CREATE TABLE Partie(
id SERIAL PRIMARY KEY,
codeInvitation varchar(5) NOT NULL UNIQUE,
idJeu integer REFERENCES Jeu(id)
);
-- JOUEUR
@ -106,8 +110,7 @@ CREATE TABLE Joueur(
-- Invite
CREATE TABLE Invite(
idJoueur integer PRIMARY KEY REFERENCES Joueur(id),
idSession varchar(255) NOT NULL UNIQUE
idJoueur integer PRIMARY KEY REFERENCES Joueur(id)
);
@ -129,34 +132,16 @@ CREATE TABLE Decouvrir(
);
-- Jeu
CREATE TABLE Jeu(
id SERIAL PRIMARY KEY,
nom varchar(128) NOT NULL UNIQUE,
nbrParties integer NOT NULL DEFAULT 0
);
-- Partie
CREATE TABLE Partie(
id SERIAL PRIMARY KEY,
codeInvitation varchar(10) NOT NULL UNIQUE,
idJeu integer REFERENCES Jeu(id)
);
-- INSERTS
-- Scientifiques
INSERT INTO Difficulte(libelle) VALUES ('Facile'),('Intermédiaire'),('Difficile');
INSERT INTO Thematique(libelle) VALUES ('Nucléaire'),('Mathématiques');
INSERT INTO Scientifique(nom, prenom, photo, dateNaissance, descriptif, ratioTrouvee, idThematique, idDifficulte, idSexe)
INSERT INTO Scientifique(nom, prenom, photo, dateNaissance, descriptif, ratioTrouvee, idThematique, idDifficulte, sexe)
VALUES
('Marie', 'Curie', '', CURRENT_DATE, 'desc', 0, 1, 1, 'F'),
('Albert', 'Einstein', '', CURRENT_DATE, 'desc', 0, 2, 1, 'H'),
('Sophie', 'Germain', '', CURRENT_DATE, 'desc', 0, 2, 2, 'F');
('Marie', 'Curie', '', CURRENT_DATE, 'desc', 0.50, 1, 1, 'F'),
('Albert', 'Einstein', '', CURRENT_DATE, 'desc', 0.7540, 2, 1, 'H'),
('Sophie', 'Germain', '', CURRENT_DATE, 'desc', 0.1432, 2, 2, 'F');
-- Jeu
INSERT INTO Jeu(nom) VALUES ('Qui-est-ce ?'),('Science Quizz'), ('Pendu');
@ -168,6 +153,11 @@ VALUES
('Quel mathématicien a dit : « Dieu existe, cest les mathématiques » ?'),
('Quel mathématicienne utilisa comme nom d"emprunt « Antoine Auguste Le Blanc » ?');
-- Indices
INSERT INTO Indice (libelle, idscientifique) VALUES
('Indice pour aider', 1),
('S''appelle Marie', 1);
-- Réponses
INSERT INTO Reponse(reponse, idQuestion, idScientifique)
VALUES
@ -176,11 +166,16 @@ VALUES
('Sophie Germain', 3, 3);
-- Utilisateurs
INSERT INTO Joueur(id,pseudo) VALUES (1337, 'moi, le meilleur joueur du monde');
INSERT INTO Utilisateur(idJoueur,email,password) VALUES (1337, 'joueur','$2y$10$juGnlWC9cS19popEKLZsYeir0Jl39k6hDl0dpaCix00FDcdiEbtmS');
INSERT INTO Joueur(pseudo) VALUES ('moi, le meilleur joueur du monde'); --id = 1
INSERT INTO Utilisateur(idJoueur,email,password) VALUES (1, 'joueur','$2y$10$juGnlWC9cS19popEKLZsYeir0Jl39k6hDl0dpaCix00FDcdiEbtmS');
-- mdp = test
INSERT INTO decouvrir(idUtilisateur,idScientifique) VALUES (1337,1);
-- Découvrir
INSERT INTO decouvrir(idUtilisateur,idScientifique) VALUES (1,1);
-- Admin
INSERT INTO Admin(id,email,password) VALUES (1, 'admin','$2y$10$juGnlWC9cS19popEKLZsYeir0Jl39k6hDl0dpaCix00FDcdiEbtmS');
-- mdp = test
-- Partie
INSERT INTO Partie(codeInvitation, idJeu) VALUES ('abcde', 1);
Loading…
Cancel
Save