Skip to content

bref-n-share/api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API

Sommaire

Architecture

Technologies utilisées

L'API a été développée en PHP 7.4 et avec le framework Symfony 4.4.
Nous avons utilisé certains components de Symfony tels que le Workflow et le Voter.

Installer le projet

Attention !
Vous devez avoir docker et docker-compose d'installer sur votre machine pour lancer l'API !
L'API est par defaut lancée en mode production.

Récupérer les sources

La premiĂšre Ă©tape est de cloner le repository afin d'obtenir les sources du projet.
Pour rappel :

SSH : git clone [email protected]:bref-n-share/api.git
HTTPS : git clone https://github.com/bref-n-share/api.git

Fichier d'environnement

Le fichier d'environnement n'est pas versionné sur git pour des raisons de sécurité. En production ce fichier est récupéré sur Google Cloud Platform.
Pour simplifier l'installation, nous vous avons déjà intégré ce fichier au projet dans l'archive que nous vous avons fourni.

Lancer la stack docker

Nous avons décidé d'utiliser docker compose pour gérer les différents services de notre projet.
Le fichier docker-compose.yml se trouvant Ă  la racine du projet nous permet de mettre en place l'environnement de celui-ci.

chemin_vers_le_projet/# docker-compose build  
chemin_vers_le_projet/# docker-compose up -d  
chemin_vers_le_projet/# docker exec -it api_fpm_1 /bin/bash  
root@fpm:/var/www/html# make  

Cette commande va lancer les 4 services liés à notre application, à savoir :

  • db
  • fpm
  • nginx
  • pgadmin

Description des services

Nous avons créé un Dockerfile pour le service fpm. Les autres services quant à eux sont basés uniquement sur des images disponibles https://hub.docker.com/.
Le Dockerfile et la configuration de nginx sont accessibles dans le dossier services/.

db

Image: postgres:12.1

Ce service correspond au container de la base de donnée. Nous avons décidé d'utiliser Postgres.
Celle-ci écoute sur le port 5432. Vous pouvez visualiser les données grùce au service pgadmin.

fpm

Lien vers le Dockerfile : services/fpm/Dockerfile

Ce service est basé sur l'image php:7.4-fpm, nous avons ensuite ajouté composer, nos différentes configurations et les extentions php que nous utilisons, à savoir les extentions iconv, gd, zip, pdo, pdo_pgsql, pgsql.

PHP-FPM permet la communication entre php et le serveur (nginx). Par defaut, nginx n'est pas capable d'interpreter.

Ce service Ă©coute sur le port 9000 de votre machine.

nginx

Lien vers la configuration : services/nginx/default.conf

Ce service est basé sur l'image nginx:1.17. Il correspond au serveur web.

Ce service Ă©coute sur le port 80 de votre machine.

pgadmin

Ce service est basé sur l'image dpage/pgadmin4. Il permet de visualiser les données.

Ce service Ă©coute sur le port 8080 de votre machine.

Connexion Ă  PgAdmin

PgAdmin est accessible Ă  l'adresse suivante : http://localhost:8080/

Login

Email : [email protected]
Mot de passe : tp

About

Symfony API 🚀 for bref-n-share app

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages