- Système d'authentification et d'inscription.
- Système de compte administrateur sans bundle.
- Mot de passe oublié avec lien de réinitialisation par mail.
- Upload et suppression d'image de profil.
- Image de profil par défaut imposé si l'utilisateur n'en a pas.
- CRUD des entités
Ville
etRue
-> Modification d'état uniquement pour les administrateurs. - Recherche d'utilisateur par
ville
ou parrue
. - Modification de ses données personnelles.
- Suppression de son compte utilisateur.
L'application a besoin d'une version de PHP >= 8, de composer et npm (j'ai utilisé la v10.2.4). La base de données doit être sous MySQL.
Le fichier .env.local n'est pas inclus dans le dépôt GitHub pour des raisons de sécurité.
Assurez-vous de configurer vos variables d'environnement.
Pensez également à configurer votre serveur SMTP dans le fichier.
composer install
npm install
npm run build
Pour lancer le serveur web, veuillez exécuter les commandes suivantes :
php bin/console assets:install
symfony serve -d
Pour importer la base de données gérée par Doctrine, suivez les étapes ci-dessous.
Créez une nouvelle base de données nommée anr
en exécutant la commande suivante.
php bin/console doctrine:database:create
Exécutez ensuite les commandes suivantes pour importer les tables :
php bin/console make:migration
php bin/console d:m:m
Vous devez ensuite importer les données liées aux entités Ville
et Rue
.
Cela est nécessaire pour l'inscription d'un utilisateur qui éxige de devoir remplir une adresse avec les entités ville
et rue
qui doivent être préalablement existants.
Pour ce faire, rendez-vous sur votre système de gestion de base de données et importez les fichiers d'insertion du dossier sql
dans l'ordre suivant :
- ville.sql
- rue.sql
Une fois ces étapes terminées, votre base de données sera prête à être utilisée avec l'application web.
Rendez-vous à l'adresse suivante :https://127.0.0.1:8000
.
Notes :
- Pour éviter les insert sql j'ai intégré un crud pour les entités
Ville
etRue
. - Un administrateur a le rôle ROLE_ADMIN tandis qu'un utilisateur a le rôle ROLE_USER.
- L'application utilise le bundle VichUploader pour la gestion des images.
- Chaque image est enregistrée dans le dossier
public/uploads/avatar/
. - Le rendu des images est géré par le bundle LiipImagine.