- PHP 7.4
- mariadb 10.8
- Symfony 5.4
- Api Platform 2.6
- Docker-compose
- lexik/jwt-authentication-bundle : pour le JWT authentification
- gesdinet/jwt-refresh-token-bundle: pour le Referesh Token.
- nelmio/cors-bundle : pour Cors, et timestampable avec doctrine.
- doctrine/doctrine-fixtures-bundle : pour la génération des données de tests (pour générer les utilisateurs.)
- symfony/apache-pack: A pack for Apache support in Symfony
- ..
Pour la Partie API
- Se connecter via un identifiant (exemple : email / mot de passe)
- Créer une todo-list et des tâches associées
- Ajouter une tâche dans une todo-list existante
- Seul le propriétaire de la todo-list peut la supprimer
- Seul le propriétaire de la tâche ou de la todo-list parente peut la modifier/supprimer
- Tous les autres utilisateurs peuvent voir les todo-list et tâches des autres
- Pouvoir filtrer les tâches/todo-list à afficher
- Bonus : Ajouter un système de status des tâches/todo-list
- Bonus : Faire un front ? Web ? Mobile ? => n'est pas terminé.
Pour la Partie Front
- Authentification / logout
- Créer une todo-list / supprimer la todo-list
- 🕐 Temps passé dessus (approximativement) : 1 journée.
- 💼 Le repository GIT : https://github.com/adnane1012/TodoList.git
# builder les differents containers
docker-compose up -d
# dans le container
docker exec -it php7 /bin/bash
# executer ces comandes suivantes
composer install
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console lexik:jwt:generate-keypair
php bin/console doctrine:fixtures:load
http://localhost:8080/api/docs
utilisateurs généré par doctrine fixtures :
username : [email protected] | password: peritis
username : [email protected] | password: peritis
username : [email protected] | password: peritis
username : [email protected] | password: peritis