API Dragon Ball Z : https://web.dragonball-api.com/
Tapez la commande :
symfony console call-api
Cette commande appelle l'API pour télécharger les données et les images de chaque personnage.
Elle appelle un service CallApiService, qui utilise HttpClient pour récupérer les données, puis CallApiService appelle DownloadImageService pour télécharger les images avec le composant Filesystem.
Les données des users sont dans le users.json, il ne faut pas le supprimer.
Pour les fichiers suivant, ils peuvent être générés par la commande :
symfony console call-api
Les données sont sauvegardées dans des fichiers JSON :
- Pour les personnages :
src/DataFixtures/charactersApi.json
- Pour les planètes :
src/DataFixtures/planetsApi.json
Les images dans :
- Pour les personnages :
public/upload/characters
- Pour les planètes :
public/upload/planets
- Pour les transformations :
public/upload/transformations
Géolocalisation : https://nominatim.openstreetmap.org/
Les coordonnés sont enregistrées dans la table Address, lors de l'inscription de l'utilisateur , et modifier si il modifie sont adresse dans sont profile.
Tapez la commande :
symfony console d:f:l
-
Page d'accueil (fait)
-
Page liste des héros (fait)
- Affiche les cartes des personnage,(cliquez sur la carte pour voir les détails)
- Formulaire de filtrage fait avec createQueryBuilder (fait)
-
Page détail des héros (fait)
- Affiche les information sur le personnage (fait)
- Affiche les utilisateurs qui aime aussi ce personnage personnage (fait)
-
Page liste des planètes (fait)
- Affiche les cartes des planètes,(cliquez sur la carte pour voir les détails).
-
Page détail des planètes (fait)
- Affiche les détail de la planètes.
-
Page inscription Newsletter (fait)
- Formulaire d'inscription (fait)
- Email de notification (fait)
-
Page formulaire de contact (fait)
- Formulaire (fait)
- Email de notification (fait) -enrigistrement du message en bbd dans la table contact
-
Page authentification
- HashPassword avec Subscriber (fait)
- Upload de fichier (sans bundle) pour l'avatar dans ProfileController
- Email de notification (fait)
-
Page login et lien vers la réinitialisation du mot de passe (fait)
- Formulaire pour accèder a l'espace utilisateur
-
Page réinitialisation du mot de passe url: /reset-password (fait)
- Formulaire (email) pour réinitialisation du mot de passe (fait)
- Email de notification (fait)
- Lien pour simuler le lien dans emai, qui redirige vers le formulaire du nouveau mot de passe (fait)
- Formulaire pour entrer le nouveau mot de passe (ok).
- Hash le nouveaux mots de passe utilisateur avec un Subscriber updatePersist (fait)
- User
- Character
- Planet
- Contact
- Address
- Newsletter
- Modification du profil utilisateur (ok)
- Modification du mot de passe (ok)
- Les admin peuvent ajouter, modifier, supprimer chaque entitées.
CallApiCommand.php
TestCommand.php
Admin
CharacterCrudController.php
ContactCrudController.php
DashboardController.php
NewsletterEmailCrudController.php
PlanetCrudController.php
UserCrudController.php
ChangePasswordController.php
CharacterController.php
ContactController.php
GeoController.php
HerosController.php
HomeController.php
NewsletterController.php
PlanetsController.php
ProfileController.php
RegistrationController.php
SecurityController.php
AppFixtures.php
charactersApi.json
planetsApi.json
user.json
Address.php
Character.php
Contact.php
NewsletterEmail.php
Planet.php
User.php
AddressRegisteredEvent.php
NewsletterRegisteredEvent.php
GeolocationSubscriber.php
HashUserPasswordSubscriber.php
AddressType.php
ChangePasswordFormType.php
CharacterFilterType.php
CharacterType.php
ContactType.php
EditProfileUserType.php
NewsletterType.php
RegistrationFormType.php
ResetPasswordType.php
TransformationModels.php
AddressRepository.php
CharacterRepository.php
ContactRepository.php
NewsletterEmailRepository.php
PlanetRepository.php
TransformationRepository.php
UserRepository.php
CallApiService.php
ContactNotification.php
DownloadImageService.php
EmailNotification.php
EmailResetPasswordNotification.php
GeoService.php
symfony console debug:router
-------------------------- ---------- -------- ------ -----------------------------------
Name Method Scheme Host Path
-------------------------- ---------- -------- ------ -----------------------------------
dashboard_admin ANY ANY ANY /admin
app_change_password ANY ANY ANY /change/password/{id}
app_character_index GET ANY ANY /character/
app_character_new GET|POST ANY ANY /character/new
app_character_show GET ANY ANY /character/{id}
app_character_edit GET|POST ANY ANY /character/{id}/edit
app_character_delete POST ANY ANY /character/{id}
app_contact ANY ANY ANY /contact
app_contact_thanks ANY ANY ANY /contact/thanks
geocode ANY ANY ANY /geocode
app_heros ANY ANY ANY /heros
app_hero ANY ANY ANY /heros/{id}
app_index ANY ANY ANY /
app_newsletter_subscribe ANY ANY ANY /newsletter
app_newsletter_thanks ANY ANY ANY /newsletter/thanks
app_planets ANY ANY ANY /planets
app_planet ANY ANY ANY /planets/{id}
app_profile_index GET ANY ANY /profile/
app_profile_new GET|POST ANY ANY /profile/new
app_profile_show GET ANY ANY /profile/
app_profile_edit GET|POST ANY ANY /profile/edit
app_profile_delete POST ANY ANY /profile/{id}
app_register ANY ANY ANY /register
app_login ANY ANY ANY /login
app_logout ANY ANY ANY /logout
app_reset_password ANY ANY ANY /reset-password
symfony new examsymfony --version=6.4 --webapp
symfony console doctrine:database:create
composer require symfonycasts/tailwind-bundle
php bin/console tailwind:init
php bin/console tailwind:build
php bin/console tailwind:build --watch
composer require --dev orm-fixtures
composer require symfony/http-client
symfony console make:controller NomduController
-
Commandes pour la mise à jour de l'API
- Création du projet
- Création de la base de données
- Installation de Tailwind
- Initialisation de Tailwind
- Compilation et recompilation des CSS lors des changements dans le projet
- Installation du bundle pour les Fixtures
- Installation du bundle pour HTTPClient
- Création d'un IndexController
- Liste des routes
- Structure du projet