From 5d2f37076364410ccbaeb0bb620f7b5ccb56ceeb Mon Sep 17 00:00:00 2001 From: Fred Date: Wed, 16 Sep 2015 13:05:18 +0000 Subject: [PATCH 1/4] proposal --- book/LANGS.md | 2 ++ book/README.md | 1 + book/SUMMARY.md | 1 + book/fr/README.md | 1 + book/fr/SUMMARY.md | 7 +++++++ specs.md | 17 +++++++++++------ 6 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 book/LANGS.md create mode 100644 book/README.md create mode 100644 book/SUMMARY.md create mode 100644 book/fr/README.md create mode 100644 book/fr/SUMMARY.md diff --git a/book/LANGS.md b/book/LANGS.md new file mode 100644 index 0000000..bf3ac48 --- /dev/null +++ b/book/LANGS.md @@ -0,0 +1,2 @@ +* [English](en/) +* [Français](fr/) diff --git a/book/README.md b/book/README.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/book/README.md @@ -0,0 +1 @@ +# Introduction diff --git a/book/SUMMARY.md b/book/SUMMARY.md new file mode 100644 index 0000000..ac9323c --- /dev/null +++ b/book/SUMMARY.md @@ -0,0 +1 @@ +# Summary diff --git a/book/fr/README.md b/book/fr/README.md new file mode 100644 index 0000000..e10b99d --- /dev/null +++ b/book/fr/README.md @@ -0,0 +1 @@ +# Introduction diff --git a/book/fr/SUMMARY.md b/book/fr/SUMMARY.md new file mode 100644 index 0000000..5d4444b --- /dev/null +++ b/book/fr/SUMMARY.md @@ -0,0 +1,7 @@ +# Summary + +* [Introduction](introduction/README.md) +* [Modèle-Template-Vue](mtv/README.md) + * [Modèle](mtv/models.md) + * [Template](mtv/template.md) + * [Vue](mtv/views.md) diff --git a/specs.md b/specs.md index ffd8337..11c4201 100644 --- a/specs.md +++ b/specs.md @@ -1,4 +1,5 @@ -# Single App +Single App +========== Pour commencer, nous allons nous concentrer sur la création d'un site ne contenant qu'une seule application, même si en pratique le site contiendra déjà plusieurs applications fournies pas django, comme nous le verrons plus loin. @@ -12,20 +13,24 @@ Besoins utilisateur du site gwift --------------------------------- Nous souhaitons développer un site où un utilisateur donné peut créer une liste contenant des souhaits et où d'autres utilisateurs peuvent choisir les souhaits qu'il souhaite réaliser. -Il ne sera pas nécessaire de s'authentifier pour réaliser un souhait mais bien pour créer une liste. +Il sera nécessaire de s'authentifier pour : -L'utilisateur ayant créé une liste pourra envoyer un email directement depuis le site aux personnes avec qui il souhaite partager sa liste, ce dernier contenant la manière d'y accéder. + 1. Créer une liste associée à son utilisateur + 2. Ajouter un nouvel élément à une liste + 3. Faire une promesse d'offre pour un élément appartenant à une liste, associée à un utilisateur. -A chaque souhait, on pourrait de manière facultative ajouter un prix. Dans ce cas, le souhait pourrait aussi être subdivisé en plusieurs part, de manière à être offert par plusieurs autres personnes. +L'utilisateur ayant créé une liste pourra envoyer un email ou une notification aux utilisateurs enregistrés directement depuis le site aux personnes avec qui il souhaite partager sa liste, ce dernier contenant la manière d'y accéder. -Un souhait pourrait aussi être réalisé plusieurs fois +A chaque souhait, on pourrait de manière facultative ajouter un prix. Dans ce cas, le souhait pourrait aussi être subdivisé en plusieurs parts, de manière à ce que plusieurs personnes puissent participer à son acquisition. + +Un souhait pourrait aussi être réalisé plusieurs fois. Besoins fonctionnels du site gwift ---------------------------------- ### Gestion des utilisateurs -Pour gérer les utilisateurs, nous utiliserons directement ce que django met à notre disposition +Pour gérer les utilisateurs, nous utiliserons ce que Django met par défaut à notre disposition. ### Gestion des listes From 98a32b52e08f7e44cacc0fb96bfaee612d8cb481 Mon Sep 17 00:00:00 2001 From: Fred Date: Wed, 16 Sep 2015 13:34:18 +0000 Subject: [PATCH 2/4] precision on right management --- specs.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/specs.md b/specs.md index 11c4201..059dcc1 100644 --- a/specs.md +++ b/specs.md @@ -44,10 +44,10 @@ Les données suivantes doivent être associées à une liste: #### Fonctionnalités - 1. Il faut pouvoir créer, modifier, désactiver et supprimer une liste, avec un utilisateur authentifié - 2. Il faut pouvoir y associer ou retirer des souhaits avec un utilisateur authentifié - 3. Il faut pouvoir accéder à une liste, avec un utilisateur authentifier ou non, via le uid. - 4. Il faut pouvoir envoyer un email avec le lien vers la liste, contenant l'uid. + 1. Un utilisateur authentifié doit pouvoir créer, modifier, désactiver et supprimer une liste dont il est le propriétaire + 2. Un utilisateur doit pouvoir associer ou retirer des souhaits à une liste dont il est le propriétaire + 3. Il faut pouvoir accéder à une liste, avec un utilisateur authentifier ou non, *via* sont identifiant + 4. Il faut pouvoir envoyer un email avec le lien vers la liste, contenant son identifiant 5. L'utilisateur doit pouvoir voir toutes les listes qui lui appartiennent ### Gestion des souhaits @@ -62,11 +62,12 @@ Les données suivantes peuvent être associées à un souhait: * un nombre (1 par défaut) * un nombre de part facultatif, si un prix est fourni * la liste à laquelle il appartient +* L'utilisateur qui l'a créée. #### Fonctionnalités - 1. Il faut pouvoir créer, modifier, désactiver et supprimer un souhait, avec un utilisateur authentifié - 2. On ne peut créer un souahit sans liste associée + 1. Un utilisateur authentifié doit pouvoir créer, modifier, désactiver et supprimer un souhait dont il est le propriétaire. + 2. On ne peut créer un souhait sans liste associée 3. Il faut pouvoir fractionner un souhait uniquement si un prix est donné. - 4. Il faut pouvoir accéder à un souhait, avec un utilisateur authentifier ou non. - 5. Il faut pouvoir réaliser un souhait ou une partie seulement, avec un utilisateur authentifier ou non. + 4. Il faut pouvoir accéder à un souhait, avec un utilisateur authentifié ou non. + 5. Il faut pouvoir réaliser un souhait ou une partie seulement, avec un utilisateur authentifié ou non. From dd810abac50fbc5ee1480ac716f2ff6f933618a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric?= Date: Wed, 16 Sep 2015 16:45:28 +0200 Subject: [PATCH 3/4] Keep acces to list with non authenticated user, update design --- specs.md | 74 +++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 57 insertions(+), 17 deletions(-) diff --git a/specs.md b/specs.md index 059dcc1..daa9e26 100644 --- a/specs.md +++ b/specs.md @@ -12,16 +12,18 @@ Ensuite, nous pourrons traduire ces besoins en fonctionnalités et finalement ef Besoins utilisateur du site gwift --------------------------------- -Nous souhaitons développer un site où un utilisateur donné peut créer une liste contenant des souhaits et où d'autres utilisateurs peuvent choisir les souhaits qu'il souhaite réaliser. +Nous souhaitons développer un site où un utilisateur donné peut créer une liste contenant des souhaits et où d'autres utilisateurs, authentifiés ou non, peuvent choisir les souhaits qu'il souhaite réaliser. Il sera nécessaire de s'authentifier pour : 1. Créer une liste associée à son utilisateur - 2. Ajouter un nouvel élément à une liste - 3. Faire une promesse d'offre pour un élément appartenant à une liste, associée à un utilisateur. + 1. Ajouter un nouvel élément à une liste + +Il ne sera pas nécessaire de s'authentifier pour : + 1. Faire une promesse d'offre pour un élément appartenant à une liste, associée à un utilisateur. -L'utilisateur ayant créé une liste pourra envoyer un email ou une notification aux utilisateurs enregistrés directement depuis le site aux personnes avec qui il souhaite partager sa liste, ce dernier contenant la manière d'y accéder. +L'utilisateur ayant créé une liste pourra envoyer un email directement depuis le site aux personnes avec qui il souhaite partager sa liste, ce dernier contenant la manière d'y accéder. -A chaque souhait, on pourrait de manière facultative ajouter un prix. Dans ce cas, le souhait pourrait aussi être subdivisé en plusieurs parts, de manière à ce que plusieurs personnes puissent participer à son acquisition. +A chaque souhait, on pourrait de manière facultative ajouter un prix. Dans ce cas, le souhait pourrait aussi être subdivisé en plusieurs parts, de manière à ce que plusieurs personnes puissent participer à sa réalisation. Un souhait pourrait aussi être réalisé plusieurs fois. @@ -37,37 +39,75 @@ Pour gérer les utilisateurs, nous utiliserons ce que Django met par défaut à #### Modèlisation Les données suivantes doivent être associées à une liste: - * un identifiant +* un identifiant externe * un nom * une description +* le propriétaire +* une date de création +* une date de modification #### Fonctionnalités 1. Un utilisateur authentifié doit pouvoir créer, modifier, désactiver et supprimer une liste dont il est le propriétaire - 2. Un utilisateur doit pouvoir associer ou retirer des souhaits à une liste dont il est le propriétaire - 3. Il faut pouvoir accéder à une liste, avec un utilisateur authentifier ou non, *via* sont identifiant - 4. Il faut pouvoir envoyer un email avec le lien vers la liste, contenant son identifiant - 5. L'utilisateur doit pouvoir voir toutes les listes qui lui appartiennent + 1. Un utilisateur doit pouvoir associer ou retirer des souhaits à une liste dont il est le propriétaire + 1. Il faut pouvoir accéder à une liste, avec un utilisateur authentifier ou non, *via* son identifiant externe + 1. Il faut pouvoir envoyer un email avec le lien vers la liste, contenant son identifiant externe + 1. L'utilisateur doit pouvoir voir toutes les listes qui lui appartiennent ### Gestion des souhaits #### Modélisation Les données suivantes peuvent être associées à un souhait: +* un identifiant +* identifiant de la liste * un nom * une description +* le propriétaire +* une date de création +* une date de modification * une image -* un prix facultatif * un nombre (1 par défaut) +* un prix facultatif * un nombre de part facultatif, si un prix est fourni -* la liste à laquelle il appartient -* L'utilisateur qui l'a créée. #### Fonctionnalités 1. Un utilisateur authentifié doit pouvoir créer, modifier, désactiver et supprimer un souhait dont il est le propriétaire. - 2. On ne peut créer un souhait sans liste associée - 3. Il faut pouvoir fractionner un souhait uniquement si un prix est donné. - 4. Il faut pouvoir accéder à un souhait, avec un utilisateur authentifié ou non. - 5. Il faut pouvoir réaliser un souhait ou une partie seulement, avec un utilisateur authentifié ou non. + 1. On ne peut créer un souhait sans liste associée + 1. Il faut pouvoir fractionner un souhait uniquement si un prix est donné. + 1. Il faut pouvoir accéder à un souhait, avec un utilisateur authentifié ou non. + 1. Il faut pouvoir réaliser un souhait ou une partie seulement, avec un utilisateur authentifié ou non. + 1. Un souhait en cours de réalisation et composé de différente part ne peut plus être modifié. + 1. Un souhait en cours de réalisation ou réalisé ne peut plus être supprimé. + 1. On peut modifier le nombre de fois qu'un souhait doit être réalisé dans la limite des réalisations déjà effectuées. + +### Gestion des réalisations de souhaits + +#### Modélisation + +Les données suivantes peuvent être associées à une réalisation de souhait: +* identifiant du souhait +* identifiant de l'utilisateur si connu +* identifiant de la personne si utilisateur non connu +* un commentaire +* une date de réalisation + +#### Fonctionnalités + + 1. L'utilisateur doit pouvoir voir si un souhait est réalisé, en partie ou non. + 1. L'utilisateur doit pouvoir voir la ou les personnes ayant réaliser un souhait. + 1. Il y a autant de réalisation que de parts de souhait réalisées ou de nombre de fois que le souhait est réalisé. + +### Gestion des personnes réalisants les souhaits et qui ne sont pas connues + +#### Modélisation + +Les données suivantes peuvent être associées à une personne réalisant un souhait: +* un identifiant +* un nom +* une adresse email facultative + +#### Fonctionnalités + From 784e28f3ebe3a294a6a3f1a2c5dbb4c90cbac3e6 Mon Sep 17 00:00:00 2001 From: Fred Pauchet Date: Wed, 16 Sep 2015 19:03:18 +0200 Subject: [PATCH 4/4] fix typo --- specs.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/specs.md b/specs.md index daa9e26..69cd39b 100644 --- a/specs.md +++ b/specs.md @@ -12,16 +12,16 @@ Ensuite, nous pourrons traduire ces besoins en fonctionnalités et finalement ef Besoins utilisateur du site gwift --------------------------------- -Nous souhaitons développer un site où un utilisateur donné peut créer une liste contenant des souhaits et où d'autres utilisateurs, authentifiés ou non, peuvent choisir les souhaits qu'il souhaite réaliser. +Nous souhaitons développer un site où un utilisateur donné peut créer une liste contenant des souhaits et où d'autres utilisateurs, authentifiés ou non, peuvent choisir les souhaits qu'ils souhaitent réaliser. Il sera nécessaire de s'authentifier pour : - 1. Créer une liste associée à son utilisateur + 1. Créer une liste associée à l'utilisateur en cours 1. Ajouter un nouvel élément à une liste Il ne sera pas nécessaire de s'authentifier pour : 1. Faire une promesse d'offre pour un élément appartenant à une liste, associée à un utilisateur. -L'utilisateur ayant créé une liste pourra envoyer un email directement depuis le site aux personnes avec qui il souhaite partager sa liste, ce dernier contenant la manière d'y accéder. +L'utilisateur ayant créé une liste pourra envoyer un email directement depuis le site aux personnes avec qui il souhaite partager sa liste, cet email contenant un lien permettant d'accéder à cette liste. A chaque souhait, on pourrait de manière facultative ajouter un prix. Dans ce cas, le souhait pourrait aussi être subdivisé en plusieurs parts, de manière à ce que plusieurs personnes puissent participer à sa réalisation. @@ -70,7 +70,7 @@ Les données suivantes peuvent être associées à un souhait: * une image * un nombre (1 par défaut) * un prix facultatif -* un nombre de part facultatif, si un prix est fourni +* un nombre de part facultatif, si un prix est fourni. #### Fonctionnalités