/todolist

Une todolist simple permetant de gérer vos tâches

Primary LanguageTypeScript

Projet Todo List Angular/Firebase

  • Amandine Bray
  • Louis Volat

Lien de production

Fonctionnalités

  • Création/Edition/Suppression des tâches
  • Cocher/Décocher une ou toutes les tâches
  • Filtrage des tâches par statuts (tous/actifs/complétés)
  • Ctrl+Z / Ctrl+Y pour les actions dans les todo-list
  • Ctrl+Z / Ctrl+Y sur les todolist (édition suppression sélection)
  • Attachement d'une image à une tâche
  • Authentification
  • Stockage local et Synchronisation des données avec Firebase si elle est authentifiée
  • Création/Edition/Suppression des todolistes
  • Sélection des todolistes
  • Importer/Exporter les todolistes
  • Importer/Exporter les images contenues dans les todolistes
  • Partage des todolistes (QR Code/Lien d'invitation)
  • PWA (Progressive Web App)

Bug Connu

  • le ctrl+z ne prend pas en charge les images, il fonctionne donc, mais ne restaurera pas les images de même il n'entrainera pas leur suppression.
    • Pour résoudre ce bug il aurait falus une autre structure de données pour stocker les images qui dans l'attribut photo contienne la base64 ou l'url de l'image ainsi que sont id
  • importation de n'importe quel fichier json fonctionne, mais crée une liste vide (erreur à renvoyer si json pas de la bonne structure)
  • bug d'importation/exportation lié au images (qui ne sont pas supporter)
    • importation/exportation d'image non fonctionnelle, mais elle peut fonctionner en localstorage si on se trouve sur même navigateur que l'export et sur firebase si on est sur le même compte utilisateur que l'export, car elle conserve UUID d'image.
    • importation d'une todolist depuis un autre compte firebase génère des erreurs 404 et en localstorage il renvoie mon erreur notfound.
    • exportation de todolist ne prend pas en charge les images
  • impossible d'upload des images ou d'ajouter des items si le localstorage dépasse les 5mb (pas de prise en compte de l'erreur)

ATTENTION

Pour évité les erreurs CORS (Cross-Origin Resource Sharing) veuillez suivre les étapes suivantes :

  • installer gsutil (suivre les instructions)
  • exécuter la commande gcloud int, connecter vous et indiquer le projet sur lequel vous souhaitez travailler
  • dans un fichier json écrivez le code suivant (permet d'autoriser sur votre projet les request de toutes origines en get mais il n'est pas très sécurisé, mais il est bon ):
  [
    {
      "origin": ["*"],
      "method": ["GET"],
      "maxAgeSeconds": 3600
    }
  ]
  • exécuter la commande suivante : gsutil cors set nom-de-votre-json.json gs://adresse-de-votre-bucket-firesbase
  • si tous, c'est bien passé les request de toutes origines en get sur votre bucket firebase sont autorisées

Tuto en image

Vous pouvez aussi utiliser Ctrl+Z / Ctrl+Y pour les actions annulées/réalisées vos actions dans la todolist.