Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

📚 BookListApp

Une application simple pour gérer une liste de livres.

✨ Fonctionnalités principales

  • Créer des livres : Ajoutez facilement de nouveaux livres à votre liste
  • Afficher la liste des livres : Consultez tous les livres disponibles
  • Afficher un livre par ID : Récupérez et affichez les détails d'un livre spécifique via son identifiant
  • Mettre à jour les livres : Modifiez les informations d'un livre existant
  • Basée sur Expo : Développée avec Expo pour un déploiement facile sur Android et iOS

⚙️ Prérequis et dépendances

Avant de commencer, assurez-vous d'avoir installé les éléments suivants :

  npm install -g expo-cli
  • Expo Go (application mobile) : installez-la sur votre appareil iOS ou Android, ou configurez un émulateur Android
  • TypeScript (globalement) :
  npm install -g typescript

🚀 Installation et configuration

Suivez les étapes ci-dessous pour installer et exécuter le projet :

1. Cloner le dépôt

git clone 
cd BookListApp/Frontend

2. Installer les dépendances

npm install

3. Démarrer le serveur de développement Expo

npx expo start

Cela ouvrira un QR code dans votre terminal.

4. Exécuter l'application

  • Avec Expo Go : scannez le QR code avec l'application Expo Go sur votre téléphone
  • Avec un émulateur Android : si un émulateur est configuré, appuyez sur a dans le terminal pour lancer l'app
  • Build de développement : vous pouvez aussi créer une version native grâce au processus de build d'Expo (voir la documentation officielle d'Expo)

💡 Exemples d'utilisation & documentation API

➕ Création d'un livre

Le composant BookCreate.tsx fournit une interface pour créer de nouveaux livres.
Il utilise un formulaire pour collecter les informations, puis envoie une requête POST à l'API backend.

📖 Affichage de la liste des livres

Le composant BookList.tsx affiche tous les livres récupérés depuis l'API.
Il utilise le hook useQuery de @tanstack/react-query pour gérer la récupération et la mise en cache des données efficacement.

🔍 Affichage d'un livre par ID

Le composant BookListById.tsx récupère et affiche les détails d'un livre spécifique à partir de son ID.
Il combine useQuery avec useParams de React Navigation pour obtenir l'identifiant du livre et effectuer la requête correspondante.

✏️ Mise à jour d'un livre

Le composant BookUpdate.tsx permet de modifier un livre existant.
Il récupère les données du livre, les affiche dans un formulaire, puis envoie une requête PUT ou PATCH à l'API pour enregistrer les changements.

🌐 Client API

Le fichier Frontend/api/apiClient.ts configure le client Axios utilisé pour communiquer avec le backend.
L'URL de base (baseURL) est définie par défaut sur http://localhost:3000.

import axios from "axios";

const apiClient = axios.create({
  baseURL: "http://localhost:3000",
  timeout: 10000,
  headers: { "Content-Type": "application/json" },
});

export default apiClient;

Axios est utilisé ici pour effectuer toutes les requêtes HTTP (GET, POST, PUT, DELETE, etc.).

⚙️ Options de configuration

URL du backend :
L'adresse du serveur backend est définie dans Frontend/api/apiClient.ts (champ baseURL).
Modifiez-la si nécessaire pour pointer vers un serveur distant ou de production.

🤝 Contribution

Les contributions au projet BookListApp sont les bienvenues !

Pour contribuer :

  1. Forkez le dépôt
  2. Créez une branche pour votre fonctionnalité ou correction :
   git checkout -b feature/ma-fonctionnalite
  1. Implémentez vos changements
  2. Ajoutez des tests si nécessaire
  3. Soumettez une Pull Request claire et descriptive

Merci de respecter les conventions de code du projet.

📜 Licence

Aucune licence spécifique n'est indiquée pour ce projet.
Tous les droits sont réservés par le propriétaire du dépôt.

🙏 Remerciements

  • Utilisation de Expo pour le développement multiplateforme
  • Utilisation de React Navigation pour la gestion des écrans
  • Utilisation de React Query pour la gestion des requêtes et du cache
  • Utilisation de Axios pour les appels HTTP

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages