Ce projet fournit une API sur les pays, comprenant un frontend construit avec Node.js et API backend construite avec FastAPI et une base de données en SQLite.
-
Clonez le dépôt :
git clone https://github.com/AymeRx/InfraCloudAPI.git cd InfraCloudAPI/frontend
-
Installez les dépendances :
npm install
-
Démarrez le serveur de développement :
npm start
Le frontend sera disponible à
http://localhost:3000
.
-
Changer de dossier :
cd ../api
-
Créez un environnement virtuel :
python -m venv venv
-
Activez l'environnement virtuel :
Sur Windows :
venv\Scripts\activate
Sur macOS/Linux :
source venv/bin/activate
-
Installez les dépendances :
pip install -r requirements.txt
-
Exécutez le serveur FastAPI :
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
L'API sera disponible à
http://localhost:8000
.
Après avoir démarré le serveur de développement, ouvrez votre navigateur et naviguez vers http://localhost:3000
. Vous verrez l'interface frontend où vous pourrez interagir avec l'api sur les pays.
Avec le serveur FastAPI en cours d'exécution, vous pouvez accéder à la documentation de l'API en naviguant vers http://localhost:8000/docs
dans votre navigateur. Cela fournira une interface Swagger UI pour tester les endpoints de l'API.
Voici les différents endpoints de l'API disponibles :
GET /countries
: Récupérer la liste de tous les pays.GET /countries/{code}
: Récupérer des informations sur un pays spécifique par son code.POST /countries
: Créer un nouveau pays.PUT /countries/{code}
: Mettre à jour les informations sur un pays spécifique par son code.DELETE /countries/{code}
: Supprimer un pays par son code.GET /countries/search/by-name
: Rechercher des pays par nom.GET /countries/search/by-continent-code
: Rechercher des pays par code de continent.GET /continents/
: Récupérer la liste de tous les continents.GET /continents/{code}
: Récupérer des informations sur un continent spécifique par son code.POST /countries/{code}/pib/{data}
: Récupérer des informations sur un continent spécifique par son code.GET /countries/{code}/pib
: Récupérer des informations sur un continent spécifique par son code.