{"id":18151386,"url":"https://github.com/tonylapoche/api-library-spring","last_synced_at":"2026-05-11T05:38:39.412Z","repository":{"id":260612015,"uuid":"881833641","full_name":"TonyLaPoche/API-library-Spring","owner":"TonyLaPoche","description":"API Rest développé avec Spring Boot | Objectif: crée des tables avec des liaisons entre les entités \"Auteurs, Genres et Livres\".","archived":false,"fork":false,"pushed_at":"2024-11-04T16:06:23.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-13T05:30:21.547Z","etag":null,"topics":["api-rest","crud-api","h2-database","java","mapstruct","maven","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TonyLaPoche.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T10:37:41.000Z","updated_at":"2024-11-13T16:34:51.000Z","dependencies_parsed_at":"2024-11-01T11:27:56.298Z","dependency_job_id":"3eade540-9533-4ebc-b5f0-a83a78b9dfa5","html_url":"https://github.com/TonyLaPoche/API-library-Spring","commit_stats":null,"previous_names":["tonylapoche/api-library-spring"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TonyLaPoche%2FAPI-library-Spring","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TonyLaPoche%2FAPI-library-Spring/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TonyLaPoche%2FAPI-library-Spring/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TonyLaPoche%2FAPI-library-Spring/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TonyLaPoche","download_url":"https://codeload.github.com/TonyLaPoche/API-library-Spring/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569114,"owners_count":20959757,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-rest","crud-api","h2-database","java","mapstruct","maven","spring-boot"],"created_at":"2024-11-02T01:07:32.304Z","updated_at":"2026-05-11T05:38:39.366Z","avatar_url":"https://github.com/TonyLaPoche.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Library API\n\nCe projet est une API REST de gestion de bibliothèques pour des livres de type RPG. Elle permet d’effectuer des opérations CRUD pour les livres, auteurs et genres, le tout en utilisant **Spring Boot**. Ce projet est un terrain d’entraînement pour explorer et maîtriser les concepts de développement d’API en Java avec Spring Boot.\n\n## Statut du Projet\n\n**En cours de développement** 🚧\n\nCe projet est activement en cours de construction et n’est pas encore finalisé. Il s’agit d’un environnement de pratique et de formation pour expérimenter divers aspects de Spring Boot.\n\n## Fonctionnalités\n\nL’API inclut les fonctionnalités suivantes (à différentes étapes de développement) :\n\n- Gestion des **livres** (CRUD complet)\n- Gestion des **auteurs** et des genres associés\n- Validation des données via des DTO\n- Gestion des exceptions personnalisées\n- Mapping d’entités à DTO pour la sérialisation JSON\n- Documentation API avec Swagger (prévu)\n\n## Technologies Utilisées\n\n- **Java 17** – Langage principal\n- **Spring Boot** – Framework d’application\n- **Spring Data JPA** – Gestion des données et ORM\n- **Hibernate** – ORM pour la gestion de la persistance\n- **H2 Database** – Base de données en mémoire pour le développement et les tests\n- **MapStruct** – Mapper pour la conversion entités \u003c-\u003e DTO\n- **Lombok** – Réduction du code boilerplate\n- **Maven** – Gestion des dépendances et du cycle de vie du projet\n\n## Installation et Lancement\n\n1. Cloner le dépôt :\n\n   ```bash\n   git clone https://github.com/ton-username/rpg-library-api.git\n   cd rpg-library-api\n   ```\n\n2. Installer les dépendances avec Maven :\n\n   ```bash\n   mvn clean install\n   ```\n\n3. Lancer l’application :\n\n   ```bash\n   mvn spring-boot:run\n   ```\n\n4. L’API sera accessible par défaut sur `http://localhost:8080`.\n\n## Endpoints API\n\nQuelques endpoints principaux (cette liste est non exhaustive) :\n\n| Méthode HTTP | Endpoint            | Description                     |\n|--------------|---------------------|---------------------------------|\n| GET          | `/api/books`        | Liste de tous les livres        |\n| POST         | `/api/books`        | Ajouter un nouveau livre        |\n| PUT          | `/api/books/{id}`   | Mettre à jour un livre existant |\n| DELETE       | `/api/books/{id}`   | Supprimer un livre              |\n| GET          | `/api/authors`      | Liste de tous les auteurs       |\n| GET          | `/api/kinds`        | Liste de tous les genres        |\n\n## Note\n\nCe projet étant en développement, certaines fonctionnalités sont sujettes à des modifications ou des ajouts. N’hésitez pas à me faire part de vos retours ou suggestions pour améliorer le projet !\n\n## Auteur\n\nCréé par [TonyLaPoche](https://github.com/TonyLaPoche).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonylapoche%2Fapi-library-spring","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonylapoche%2Fapi-library-spring","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonylapoche%2Fapi-library-spring/lists"}