"Tout pour faire des Listes." site de liste en java (11) / spark / freemarker / h2 / sql2o sur intelliJ IDEA
(mais pas fini)
Licence publique générale GNU (GPL3)
Action : -recherche en rapport au titre ou a la description de n'importe quel élément
-afficher toutes les listes
-afficher la liste ou l'élément selectionné (clique sur la ligne du tableau)
-création de liste avec un titre et une decription
-ajout d'element avec un titre et une decription un etat et une liste de tag (qui peuvent a leur tour devenir des listes)
-modification liste et élement (titre et description)
-voir l'accueil
-voir la page d'information/contact
-connection (pas mis en place)
src/
main/
java/
autre/
log4jConf.java : log configuration du serveur spark
controleur/
MainController.java : Gère l'ensemble des routes du serveur web et effectuer les actions necessaire en consequence (a simplifier avec Classe intermediaire pour classer les différentes actions)
DAO/
UnSql2oModele.java : Ensemble des requetes sql de création de table et d'insertion/suppression/ajout d'élement dans ces tables
main/
Main.java : Initialistation de la base de donnée (h2/Sql2oCréation), des tables, et des éléments testes
model/
AListe.java : Element mere du patron de conception composite
LaListe.java : Element Fille "Liste" du patron de conception composite
Tag.java : tag est un element string (qui pourra se complexifier)
UnElement.java : Element Fille "atomique" du patron de conception composite, possedant une liste de tag
ressources/ : ensemble des éléments partagés
css/
style.css : ensemble du style de toutes les pages du sites (a fractionner)
image/
abr.png : logo du site
connexion.png : logo de connexion
todoliste.png : image d'acceuil
templates/
accueil.ftl : page d'acceuil
ajoutlist.ftl : page d'ajout/modification de Liste/Element
connexion.ftl : page de connexion (non mise en place)
footer.ftl : footer du site integre dans chaque page avec un #include
header.ftl : header du site integre dans chaque page avec un #include
info.ftl : page d'information / contact (mails,...)
listes.ftl : page de recherche, d'affichage des listes/elements
test/ : test graphique
tagsinput.css : code css de boostrap pour les listes de tag
tagsinput.min.js : code javascript de boostrap pour les listes de tag
Base de donnée
TABLE ELEMENT -> ensemble des element liste ou "feuille" de liste
id INTEGER not NULL -> identifiant de l'element (généré par aléatoirement)
idListe INTEGER not NULL -> inutile (cas d'un seul element pere)
dateCreation DATE -> Date de création de l'element
dateDerModif DATE -> Derniere date modification de l'element
titre VARCHAR(255) -> (taille arbitraire)
description VARCHAR(255) -> description en elle meme (taille arbitraire)
PRIMARY KEY ( id ) -> id unique
TABLE POSSEDE : table permettant de créer des relation de hierarchie entre les elements
id INTEGER not NULL -> identifiant d'un ELEMENT FILS
idListe INTEGER not NULL -> identifiant d'un ELEMENT PERE
PRIMARY KEY ( id ) ->
FOREIGN KEY ( idListe ) REFERENCES ELEMENT ( id ) -> en reference a ELEMENT.id
FOREIGN KEY ( id ) REFERENCES ELEMENT ( id ) -> en reference a ELEMENT.id
TABLE TAG : table permettant d'établir une liste de tag pour un element donné
id INTEGER not NULL -> identifiant d'un ELEMENT
tag VARCHAR(255) -> tag en lui meme (taille arbitraire)
FOREIGN KEY ( id ) REFERENCES ELEMENT ( id ) -> en reference a ELEMENT.id
Injection dans les formulaire non géré; Element dans une autre Liste non géré; connexion non géré; ceratin visuel a revoir