Skip to content

Classic Todo API with HTTP basic authentication. 2-day solo project (2022) created with Docker Compose (NGINX, PHP8, MySQL8, phpMyAdmin), Symfony 6, API Platform, PHP Unit, PHPStan, PHP_CodeSniffer, FakerPHP.

Notifications You must be signed in to change notification settings

cbrichau/todolist-symfony6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Todolist

Liens utiles

Cahier des charges

  • Création de 3 entités : Todolist, Task et Tag.
  • Création de 6 endpoints pour :
    • Lire une Todolist avec ses Tasks et leurs Tags.
    • Créer une Todolist (sans ses associations car celles-ci seront gérées à la création d'une Task).
    • Créer une Task et ses Tags.
    • Modifier une Task et ses Tags.
    • Lire toutes les Tasks associées à un Tag donné (ou plusieurs).
    • Lire toutes les Tasks expirées.
  • Protection de l'API avec l'authentification HTTP Basic.
  • Garantie de la qualité du code et d'une maintenance aisée :
    • Utilisation de docker-compose pour disposer d'un environnement local bien défini (containers = NGINX, PHP, MySQL, phpMyAdmin).
    • Utilisation d'un framework (Symfony) et d'un bundle REST API (API Platform) pour bénéficier d'une base robuste, réduire le temps de développement, et simplifier le travail collaboratif.
    • Utilisation des dernières versions stables des principaux composants (PHP 8, MySQL 8, Symfony 6, API Platform 2.7) pour bénéficier des dernières optimisations.
    • Implémentation d'une batterie de tests (Unit & Application) avec PHPUnit (au moins 2 tests -1 valide et 1 invalide- par entité et par endpoint).
    • Implémentation des DataFixtures pour auto-générer les données de test (avec FakerPHP et une Command custom pour que la régénération des données reparte toujours de l'ID n°1).
    • Création d'un script permettant d'effectuer la "Static Analysis" du code (avec PHP_CodeSniffer et PHPStan, configurés pour le standard PSR-12 et le style Allman).
    • Rédaction d'un Wiki pour une prise en main plus aisée.

About

Classic Todo API with HTTP basic authentication. 2-day solo project (2022) created with Docker Compose (NGINX, PHP8, MySQL8, phpMyAdmin), Symfony 6, API Platform, PHP Unit, PHPStan, PHP_CodeSniffer, FakerPHP.

Resources

Stars

Watchers

Forks