Skip to content

kseb49/BileMo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BileMo - Sélection de téléphones mobiles haut de gamme

Presentation du projet

API REST BileMO réalisé avec Symfony 6.

Réalisé dans le cadre de la formation développeur d'application PHP/symfony d'OpenClassrooms.

Codacy Badge

Description

BileMo est une entreprise offrant toute une sélection de téléphones mobiles haut de gamme en B2B. Une API REST fournie à toutes les plateformes qui le souhaitent l’accès au catalogue.

Les clients de l’API sont authentifiés via JWT.

Prè-requis

PHP PHP 8.1 ou supèrieur

MySQL MySQL 8.0 ou supèrieur.

Composer Composer 2.4 ou supèrieur.

Installation

Cloner le projet

https://github.com/kseb49/BileMo.git

Installer les dépendances

composer install

Variables d'environnements : Configurer un fichier .env.local:

DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4"

Pour une mise en production :

APP_ENV=prod
APP_SECRET=!new32characterskey!

Créer les clefs SSL aide

symfony console lexik:jwt:generate-keypair

Configurer les chemins vers les clefs et la passphrase dans le env.local aide:

JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=yourPassphrase

Plus d'infos : Documentation officielle JWT

Créez la base de données et les tables:

symfony console doctrine:database:create

symfony console doctrine:migrations:migrate

Charger les données initiales

symfony console doctrine:fixtures:load

Lancer le serveur symfony

symfony server:start

Rôles

Les endpoints suivants nécessitent un rôle administrateur :

POST /api/users

DELETE /api/users/{{id}}

Les données initiales octroient ce rôle à un client sur deux, le mot de passe par défaut est 123456.

Documentation

La documentation est disponible au lien suivant :

/api/doc