Lien vers la version de production en direct
Bienvenue dans un autre de mes projets API. Pour ce projet, j'ai écrit, testé et déployé une application Laravel dans le cadre d'un projet full-stack, profitant de nombreuses fonctionnalités puissantes du framework, notamment :
Cette API traite les données relatives aux utilisateurs/candidats et à leurs examens. Par exemple, il permet à un utilisateur d'afficher des informations sur les lieux/lieux d'examen, les dates, les noms des candidats, etc.
// To sign up as an admin, make a POST request to https://laravel-php-api.vercel.app/public/api/signup and include a request body in the following format:
{
"name" : " Anna Torpid " ,
"email" : " [email protected] " ,
"password" : " dfbdf9suhfd9shf " ,
"password_confirmation" : " dfbdf9suhfd9shf "
}
// To login, make a POST request to https://laravel-php-api.vercel.app/public/api/login and include a request body in the following format:
{
"email" : " [email protected] " ,
"password" : " dfbdf9suhfd9shf "
}
// The above POST request returns this response. Make sure to include the returned token in the authorisation header of all future requests.
{
"user" : {
"id" : 11 ,
"name" : " Anna Torpid " ,
"email" : " [email protected] "
},
"token" : " 5|tAujbY9luWTKquNEruGHU7soCXp7MuzVb8WR0VO9 "
}
Une fois inscrit ou connecté, vous recevrez un jeton API qui devra être joint aux en-têtes de votre demande afin de garantir un accès CRUD complet.
Pour accéder à chaque extrémité, ajoutez le fragment URI à l'endoint racine. Vous pouvez afficher plus de détails en visitant le point de terminaison racine.
Ressource | Description | Authentification/autorisation |
---|---|---|
POST/inscription | Créez un nouveau compte. | Publique |
POST / connexion | Connectez-vous au compte existant. | Publique |
OBTENIR /déconnexion/{id} | Se déconnecter (révoque les jetons). | Utilisateurs connectés uniquement |
OBTENIR/examens | Affiche la liste de tous les examens. Comprend 5 paramètres de requête facultatifs . | Administrateur uniquement |
OBTENIR /examens/{id} | Obtenez un examen spécifique. | Ne peut voir que ses propres examens |
METTRE /examens/{id} | Modifier un examen spécifique. | Ne peut modifier que ses propres examens |
OBTENIR /examens/recherche/{nom} | Recherche de sous-chaîne pour un candidat spécifique. | Administrateur uniquement |
SUPPRIMER /examens/{id} | Supprimer l'examen. | Ne peut supprimer que son propre examen |
OBTENIR /utilisateurs | Obtenez la liste de tous les utilisateurs. | Administrateur uniquement |
OBTENIR /users/{id}/exams | Obtenir la liste de tous les examens pour un utilisateur | Ne peut voir que ses propres examens |
Tout d’abord, assurez-vous que PHP et Composer sont installés sur votre ordinateur.
Version minimale requise : PHP ^8.1 ; Compositeur 2.5.4 .
Forkez et clonez le référentiel.
cd dans le référentiel et exécutez ces commandes CLI :
composer update
composer install
Renommez votre fichier .env.example
en .env
, supprimez les variables de la connexion mysql par défaut et assurez-vous d'ajouter les 3 variables suivantes :
DB_CONNECTION=sqlite
DB_FOREIGN_KEYS=true
USE_SQLITE_SYNTAX=like
DB_DATABASE= this needs to be the absolute path to the sqlite database located in ./database/database.sqlite, e.g. /home/username/mydocuments/laravel-api/database/database.sqlite*
Pour démarrer le serveur de développement local, exécutez la commande Artisan CLI :
php artisan serve
Pour exécuter la combinaison de test, exécutez la commande Artisan CLI :
php artisan test