Git Product home page Git Product logo

handichiens-v2's People

Contributors

axel37 avatar eichigri avatar violainer avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

handichiens-v2's Issues

Date picker

Nous avons besoin d'un champ de formulaire de choix de date.

ComposantCarte

Composant utilisé partout, avec une (ou plusieurs) icône (ou image) et une (ou plusieurs) ligne de texte :

Image

Image

Image

Image

Accueil

Page d'accueil, qui affiche, selon le rôle :

  • Une invitation à s'authentifier
  • Le dashboard famille
  • Le dashboard éducateur
  • Le dashboard admin

Réinitialisation du mot de passe

Les utilisateurs doivent pouvoir réinitialiser leur mot de passe.

Nous aurons besoin d'envoyer des mails.
L'envoi des mails sera de toutes façons requis pour la notification des familles.
Réalisé dans #4 #6

Affectations multiples

Pour faire gagner du temps aux éducateurs, nous pourrions permettre de créer plusieurs affectations sur le même formulaire avec le type "Form Collection". Ces affectations seraient pour la même association famille / chien.

Photos de profil / chien

Les utilisateurs doivent pouvoir envoyer des photos représentant une famille ou un chien.

  • Gérer l'upload de fichiers
  • Modifier les entités
  • Adapter les formulaires

Notifications d'affectation

Outre les notifications par mail, nous pourrions prévoir de notifier les familles dans l'application.

Symfony UX propose le module Notify permettant d'utiliser les notifications du navigateur.

Nous pourrions aussi afficher un message flash.

Disponibilités : contraintes de création

Lors de la création d'une disponibilité, contrôler :

  • Qu'elle ne soit pas dans le passé
  • Qu'elle n'entre pas en conflit avec une autre disponibilité de l'utilisateur (elles ne doivent pas se "superposer")

Les dates s'affichent en anglais

J'ai remarqué que, lors de l'affichage d'une date dans une vue twig (avec le filtre |date), elle s'affichait en anglais

Test : August 29, 2022 17:18 - August 31, 2022 17:18
August 31, 2022 19:21 - October 6, 2022 17:21

Formulaire affectation : Dates vides

Dans le formulaire d'affectation, les dates doivent pouvoir être laissées vide. En effet, elles agissent aussi comme champs de recherche : il doit être possible d'entrer seulement un début ou une fin d'affectation, et de voir les familles compatibles.

Bouton : Plusieurs couleurs

Le composant bouton devrait prendre en paramètre un type (string / enum ?) pour définir sa couleur (bleu, gris, rouge)

Superadmin

Ne peut être supprimé. Il créé et supprime les admins.

Mailer

L'application doit être capable d'envoyer des mails


Instructions pour lancer le traitement des mails

symfony console messenger:consume async pour lancer le traitement des emails de Symfony

maildev pour lancer maildev

localhost:1080 pour accéder à l'interface web de maildev

Bases du front

  • Décider framework css (ou non)
  • Installer Symfony UX et live twig component
  • Créer le template de base
  • Créer le premier composant : navbar
  • Démarrer le CSS

Disponibilité : Contrôle d'accès

Une famille ne doit pas pouvoir supprimer les disponibilités d'une autre famille (possible si url entrée manuellement avec id deviné, d'où l'inconvénient d'utiliser des ids dans les routes)

Possibilité d'implémenter de deux manières :

  1. Dans le contrôleur, vérifier que la disponibilité appartient bien à la famille (route par route...)
  2. Créer un Voter (générique, s'applique dans tous les cas de figure)

Favicon

Utiliser une icône autre que celle fournie par symfony

Inscription

a priori, une inscription créé une famille : les éducateurs / admins sont créés et non inscrits.

Erreurs dans le formulaire de profil

Mettre un espace dans un champ comme "Prenom" provoque une erreur :

Image

Ce formulaire nécessite des tests supplémentaires et l'application de contraintes plus strictes.

Messages / Pages d'erreurs user-friendly

Les messages d'erreurs devraient être en français et compréhensible par l'utilisateur.

Ils devraient avant tout permettre à l'utilisateur de savoir si le problème vient de lui ou de nous (erreur technique), et surtout leur indiquer la marche à suivre pour corriger cette erreur (si c'est possible).

Messages validateur français

Maintenant que les entités ont de la validation, vérifier si les messages générés par Symfony sont en français. Sinon, il faudra définir de nouveaux messages.

Contrôleur Famille

Routes destinées aux éducateurs / admins :

/famille
    /{id}
        /modifier
        /disponibilite
        /ajouter

/modifier : Admins seulement ?

Certaines pages n'utilisent pas le layout commun

Certaines pas ne s'inscrivent pas dans la disposition de base :

Image

Image

Image

(La navbar ne s'affiche pas, le contenu n'est pas dans un container, etc...)

Il suffit juste d'extend "disposition générale" plutôt que "base"

Gestion des affectations

Créer le contrôleur et les routes nécessaire à la gestion des affectations.

La partie la plus difficile étant le formulaire de création, avec ajax, accessible depuis plusieurs points (disponibilité, chien...)

  • Contrôleur et index
  • Ajout : Formulaire de base
  • Ajout : Formulaire AJAX / Symfony UX
  • Ajout : Pré-remplissage en fonction du point d'entrée

Footer

Liens vers mentions légales et crédits

Handi'chiens v2 - Réalisé par des étudiants du CEFIM. Code source disponible sur github.com/[...]

License ?

Chef de projet :
Mickaël Auger

Développeurs v2 :
Violaine Romagné
Alexandre Deret
Axel Choteau

Développeurs v1 :
[...]

Vérification de l'email

Lors de l'inscription ou d'un changement d'adresse mail, celle-ci ne devrait être acceptée définitivement seulement après vérification (lien envoyé dans courriel).

Cela évite les erreurs (si mauvaise adresse rentrée)

Formulaire affectation : Date fin > date début

Faire en sorte qu'il ne soit possible de sélectionner que des dates de fin supérieures à la date de début.

(la validation empêche la soumission du formulaire, mais, pour l'instant, le champ de formulaire lui-même montre toutes les dates)

Affichage des messages "flash"

Les messages flash sont une sorte de notification fournissant un retour sur les actions de l'utilisateur (succès, erreurs...) : ne pas oublier de les afficher (et d'en créer quand nécessaire) !

ProfilController

Visualisation et modification des informations du profil de l'utilisateur actuellement connecté

/profil
/profil/modifier

Liste Dispo : Tri par date

Sur les affichages de liste de disponibilités, celles-ci devraient être triées selon leur date de début (de la plus proche à la plus lointaine dans le temps)

DisponibiliteController

Gestion des disponibilités :

Les familles peuvent en ajouter
Les éducateurs peuvent les visualiser
Les administrateurs peuvent les modifier

Voir #20 pour la liste des routes

Dates : Timezones !

Faire un new DateTimeImmutable('now') créé une date qui semble avoir deux heures de retard sur l'heure actuelle. Cela pourrait causer des problèmes !!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.