blogspec's Issues
[EPIC]: En tant qu'utilisateur, je veux pouvoir noter des articles
[EPIC]: En tant qu'utilisateur, je souhaite pouvoir sauvegarder des articles dans des rubriques personnelles
[EPIC]: En tant qu'utilisateur, je souhaite être notifier
[EPIC]: En tant qu'utilisateur "Administrateur", je souhaite pouvoir cacher pour certaines raisons un article
[US] En tant que développeur, je dois mettre en place l'architecture des notifications
Cette feature a pour objectif de paramétrer le système de notification du blog.
-
À l'aide des WebSockets, communiqué avec l'utilisateur destiné à recevoir une réponse qui est connecté, afin de lui envoyer les notifications ici la documentation des WebSockets avec NestJS
-
Sauvegarder les notifications avec un statut
Vu/Pas Vu
(à la facebook)
Related EPIC: #8
[US] En tant qu'Administrateur, je souhaite désactiver un compte utilisateur
Cette feature permet à un administrateur de mettre à jour un utilisateur comme désactivé.
Celui-ci n'est pas supprimé mais ne peut plus se connecter non plus.
Related EPIC: #12
[US] En tant qu'utilisateur loggé, je souhaite récupérer la liste de toutes mes rubriques
Cette feature permet de renvoyer aux clients web la liste de toutes les rubriques d'un utilisateur identifié avec ses articles s'il y en a.
Pas besoin de gérer de pagination pour cette liste.
Related EPIC: #15
[EPIC]: En tant qu'utilisateur "Administrateur", je veux pouvoir modifier le rôle d'un utilisateur
[US] En tant qu'Administrateur, je souhaite récupérer la liste de tous les utilisateurs avec leur rôle respectifs
Cette feature retourne la liste des utilisateurs avec leur rôle.
Cette liste est triée par rôle. (Administrateur
puis Auteur
et Blogger/utilisateur
)
Related EPIC: #11
[US] En tant qu'utilisateur, je souhaite m'inscrire
Cette feature a pour objectif de permettre l'inscription aux utilisateurs remplissant un formulaire d'inscription sur un client web.
Les données saisies par l'utilisateur sont les suivantes:
email: string;
password: string;
prénom: string;
nom de famille: string;
isAuthor: boolean;
Ces données doivent donc être sauvegardées dans un système de stockage et comportent une contrainte d'unicité sur le champ email
(car nécessaire à l'authentification).
De plus le mot de passe devra être stocké en étant encrypté pour renforcer la sécurité de nos données.
Related EPIC: #2
[US] En tant qu'utilisateur loggé, je souhaite être informé lors d'une réaction ou d'une réponse à un commentaire
Lorsqu'une réponse ou une réaction à un commentaire d'un utilisateur loggé survient, celui-ci doit recevoir une notification.
Cette notification contient un message et un l'identifiant de l'article lié au commentaire.
Le message devra être du type: Une nouvelle réponse/réaction de la part de ${userQuiRepond} sur cet article ${article}!
.
Related EPIC: #8
[US] En tant qu'Auteur, je souhaite être tenu informé du changements de statuts de mes articles
Cette feature a pour objectif de notifier les changements d'état d'un article à son auteur par le biais d'une notification.
Related EPIC: #14
[US] En tant qu'Administrateur, je veux récupérer la liste des utilisateurs
Afin de pouvoir sélectionner l'utilisateur à modifier, il est nécessaire que l'administrateur puisse avoir une vue d'ensemble de tous les utilisateurs.
Dans cette liste, on ne souhaite récupérer que certaines informations:
userId: string;
firstName: string;
lastName: string;
role: string;
(isProtected: boolean;) // à true lorsqu'il s'agit d'un administrateur
Related EPIC: #12
[US] En tant qu'Auteur, je souhaite pouvoir supprimer un article
Un Auteur peut supprimer un article qu'il a écrit précédemment.
Il s'agit d'un hard delete
, on ne conserve aucune trace de l'article écrit.
Related EPIC: #9
[US] En tant qu'utilisateur (loggé et non loggé), je veux récupérer les informations d'un article
Cette fonctionnalité est destiné à retourner toutes les données d'un article et son auteur ainsi que tous ses commentaires (et leurs données).
Attention:
Ne pas ressortir toutes les données de l'auteur, certaines sont confidentielles.
Related EPIC: #5
[US] En tant qu'Administrateur, je souhaite ré-afficher un article au public
Cette feature ré-active un article qui était jusqu'à lors dans un état de désactivation (hidden
).
Related EPIC: #14
[US] En tant qu'Auteur, je souhaite pouvoir répondre à un commentaire
Cette feature a pour but de permettre à un Auteur de répondre au commentaire qu'un autre utilisateur lui aura laissé au préalable.
La réponse du commentaire est à considérer comme étant un nouveau commentaire qui à un commentaire parent.
ex:
Comment { // Mon commentaire
commentaireId: 'AZERTY',
author: 'user',
content: 'C\' est nul!',
}
Comment { // Ma réponse
commentaireId: 'QSDFGH',
parentId: 'AZERTY', // on sait que ce commentaire est un sous commentaire du commentaire 'AZERTY' donc une réponse
author: 'author',
content: 'Des arguments peut-être?',
}
Related EPIC: #10
[US] En tant qu'Administrateur, je souhaite pouvoir éditer l'email d'un utilisateur
Dans le cas où un utilisateur c'est trompé dans la saisi de son mail, il peut recourir à l'aide (et le pouvoir) d'un administrateur afin de changer son mail.
L'administrateur peut donc éditer l'email (et uniquement ce champ) de tous les utilisateurs autres qu'administrateur.
Related EPIC: #12
[US] En tant qu'Administrateur, je souhaite pouvoir changer le rôle d'un utilisateur
Un Administrateur doit pouvoir changer le rôle d'un autre utilisateur.
Il peut :
changer un auteur en blogger => les articles de l'auteur reste, il perd juste l'accès à l'édition de ceux-ci
changer un auteur en administrateur
changer un blogger en auteur
changer un blogger en administrateur
Il ne peut pas:
changer de droit un autre administrateur sauf si l'administrateur en question est lui-même
Related EPIC: #11
[EPIC]: En tant qu'Administrateur, je souhaite pouvoir gérer les utilisateurs
[US] En tant qu'Administrateur, je souhaite supprimer définitivement un compte utilisateur
Il s'agit de la suppression clair et simple d'un utilisateur.
On ne souhaite pas conserver de traces de l'utilisateur supprimé dans nos données.
Related EPIC: #12
[US] En tant qu'utilisateur loggé, je veux partager des articles via Facebook
Cette feature a pour objectif de fournir une url publique statique pour chaque article de manière à générer un bandeau de blog dans les fils d'actualité Facebook.
Il est ici question de génération d'html "clé en main" sur notre API REST car les clients web ne pourront pas être atteint par la génération de miniatures de Facebook.
Related EPIC: #14
[EPIC]: En tant qu'utilisateur, je souhaite pouvoir parcourir et lire des articles
[US] En tant qu'utilisateur, je souhaite me connecter
Cette feature a pour but de permettre à tout utilisateur possédant un compte de s'authentifier.
Pour ce faire, celui-ci nous donnera son email
et son mot de passe
pour qu'on retrouve son compte et qu'on l'authentifie à l'aide d'un token d'identification (ex: bearerToken).
L'authentification permettra d'ouvrir à l'utilisateur certaines fonctionnalités réservées à des utilisateurs connectés.
Related EPIC: #2
[EPIC]: En tant qu'utilisateur, je souhaite pouvoir laisser/supprimer des commentaires (les miens) sur des articles
[US] En tant qu'Auteur, je souhaite pouvoir éditer un article
Un auteur peut éditer un des ses articles après que celui-ci ait été publié.
Cependant les modifications possibles sont limités:
Modifier le contenu,
Modifier le titre,
(Modifier l'image de miniature,)
Related EPIC: #9
[EPIC]: En tant qu'utilisateur "Auteur", je souhaite pouvoir écrire et gérer un article
[US] En tant qu'utilisateur (loggé et non loggé), je veux récupérer la liste de tous les articles
Cette fonctionnalité est destiné à retourner la liste de tous les articles stockés afin de pouvoir les afficher.
Cette liste est soumis à une pagination de 20 résultats par page.
Elle retourne un liste d'article contenant au moins chacun:
Article{
articleId: string;
titre: string;
author: User (Auteur | Administrateur);
created: Date;
}
Related EPIC: #5
[US] En tant que développeur, je dois ajouter la notion de notes à l'objet "Article"
D'un niveau technique, l'objectif de cette user story est d'ajouter une notion de notation à l'entité article.
export class Article {
//... contenu de la class Article
}
export class User {
//... contenu de la class User
}
export class NoteArticle{
userId: string;
articleId: string;
grade: number;
}
Related EPIC: #7
[US] En tant qu'Administrateur, je souhaite pouvoir cacher un article
Cette feature a pour vocation de cacher un contenu pour des raisons d'atteintes aux libertés d'autrui ou pour des raisons de censure.
On peut simplifier cette notion de hidden
par une désactivation de l'article en question.
Related EPIC: #13
[US] En tant qu'Auteur, je souhaite pouvoir récupérer la liste de tous mes articles
Cette feature consiste à retourner la liste des articles créés par un Auteur.
Cette liste est composée d'entité Article, trié du plus récent au plus ancien.
Only for advanced developers
(Une pagination est nécessaire pour aller au devant de grandes listes.)
Related EPIC: #9
[US] En tant qu'Auteur, je souhaite réagir à un commentaire
Cette feature a pour but de permettre à un Auteur de réagir au commentaire qu'un autre utilisateur lui aura laissé au préalable.
La réaction est du type: "J'aime" || "J'aime pas"
.
ex:
Comment { // Mon commentaire
commentaireId: 'AZERTY',
author: 'user',
content: 'C' est super!',
likes: 1 // + 1,
dislikes: 0,
}
Related EPIC: #10
[US]: En tant qu'utilisateur loggé, je souhaite pouvoir ajouter des rubriques personnelles
Cette feature a pour but de permettre à tous les utilisateurs connectés de créer des rubriques de type A lire plus tard
ou encore Politique
.
Chaque utilisateurs possèdera ses propres rubriques qu'il ne pourra pas partager avec d'autres utilisateurs.
Une rubrique se définit de la manière suivante:
titre: string;
userId: string; // id de l'utilisateur qui l'a créée
articles: Article[] // liste des articles qui lui sont référencées
Related EPIC: #15
[US] En tant qu'utilisateur loggé, je souhaite pouvoir sauvegarder un article dans une de mes rubriques
L'objectif de cette fonctionnalité est de permettre à un utilisateur de mettre de côté des articles à lire plus tard ou sauvegarder des articles qui ont pu l'intéressé dans des thèmes qu'il aura lui même choisi.
Related EPIC: #15
[US] En tant que gestionnaire du SI, je souhaite externalisé le service d'authentification sur un microservice
Dans un souci de performance et de rentabilité, la direction du SI souhaite transformer le service d'authentification en microservice afin de le faire s'exécuter seul sur un serveur dédié.
Ainsi, le SI pour posséder potentiellement plusieurs applications branchées sur ce microservice d'authentification.
Related EPIC: #2
[US] En tant qu'utilisateur loggé, je souhaite supprimer un de mes commentaires sur un article
Cette feature permet à un utilisateur loggé de supprimer un commentaire d'un article.
Seul les commentaires rédigés par l'utilisateur peuvent être supprimer par ses actions.
Related EPIC: #6
[US] En tant qu'Administrateur et Auteur, je souhaite visualiser la liste des articles
Cette feature retourne la liste des articles désactivés.
Dans le cas d'un Administrateur, il s'agit de tous les articles contenus sur le blog qui sont dissimulés au public.
Dans le cas d'un Auteur, il s'agit de tous les articles qu'il a rédigé qui sont dissimulés au public.
Related EPIC: #14
[US] En tant que développeur, je souhaite ajouter l'entité "Commentaire"
Cette feature permet de rajouter un modèle de données pour stocker les commentaires.
Les commentaires auront d'une manière générale la description suivante:
Commentaire {
commentaireId: string;
authorId: string; // Id de l'auteur du commentaire
created: Date
content: string;
... // à votre convenance
}
Related EPIC: #6
[US] En tant qu'utilisateur loggé, je souhaite déposer un commentaire sur un article
Cette feature permet à un utilisateur loggé de déposer un commentaire à la suite d'un article.
Ce commentaire est lié à un utilisateur et à un article, cependant un même utilisateur peut rédiger plusieurs commentaires sur le même article.
Le commentaire n'est pas limité en taille de caractères.
Related EPIC: #6
[EPIC]: En tant qu'utilisateur, je veux pouvoir m'inscrire, me connecter
[EPIC]: En tant qu'Auteur, je souhaite pouvoir répondre/réagir aux commentaires de mes articles
[EPIC]: En tant qu'utilisateur, je veux pouvoir voir/gérer mes informations
[US] En tant qu'utilisateur, je souhaite recevoir une notification lors d'un changement de rôle
Lorsqu'un utilisateur subit un changement de rôle par un administrateur, il doit recevoir une notification de la modification afin de pouvoir prendre connaissance de ce changement.
Il s'agit d'une notification d'information.
Le message type peut être : Vous êtes devenu un ${role}!
Related EPIC: #11
[US] En tant qu'utilisateur loggé, je souhaite supprimer des rubriques
Cette feature a pour objectif de permettre la suppression d'une ou plusieurs rubriques appartenant à l'utilisateur authentifié.
La suppression d'une rubrique entraine la suppression des "liens" des articles sauvegardés.
Related EPIC: #15
[US] En tant qu'Administrateur, je souhaite récupérer les informations complètes d'un utilisateur
Cette feature permet de retourner à un administrateur toutes les informations d'un utilisateur précis.
Les informations souhaitées sont:
toutes les informations de l'entity utilisateur,
toutes ses rubriques,
tous ses articles stockées dans les rubriques,
(tous les articles qu'il a écrit)
Related EPIC: #12
[US] En tant qu'utilisateur loggé, je veux partager des articles sur Twitter
Cette feature a pour objectif de fournir une url publique statique pour chaque article de manière à générer un bandeau de blog dans les fils d'actualité Twitter.
Il est ici question de génération d'html "clé en main" sur notre API REST car les clients web ne pourront pas être atteint par la génération de miniatures de Twitter.
Related EPIC: #14
[EPIC]: En tant qu'utilisateur, je souhaite partager des articles sur des réseaux sociaux
[US] En tant qu'Auteur, je souhaite pouvoir écrire un article
Un Auteur peut écrire des articles.
Cela signifie qu'un Auteur peut stocker en BDD des entités de ce format:
titre: string;
content: string;
created: Date;
updated: Date;
likes: Number;
disLikes: Number;
(picture: Buffer | File;)
author: User (Auteur ou Administrateur)
Related EPIC: #9
[US] En tant qu'utilisateur, je veux pouvoir noter ou renoter un article
Cette feature permet à un utilisateur authentifié de déposer une note sur un article, ou de modifier la note précédente qu'il avait attribuée.
Related EPIC: #7
[US] En tant qu'utilisateur, je souhaite pouvoir récupérer mon mot de passe perdu par mail
Lorsqu'un utilisateur possédant un compte perd son mot passe, il doit pouvoir avoir la possibilité de reset
son ancien mot de passe avec un lien envoyer par mail.
Ce lien possède une durée de validité de quelques jours seulement.
Related EPIC: #2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.