Giter VIP home page Giter VIP logo

cassandra_spring_boot's Introduction

Manipulation de Base de Données Cassandra avec Spring Boot

Introduction

Ce dépôt GitHub contient les ressources nécessaires pour le travail pratique sur la manipulation d'une base de données Cassandra à l'aide de Spring Boot. L'objectif est de gérer une table de produits dans un keystore, illustrant l'intégration entre une application Spring Boot et Cassandra, une base de données NoSQL.

Technologie

  • Spring Boot
  • Cassandra
  • Spring Data Cassandra
  • Swagger UI

Fonctionnalités

L'application Spring Boot développée offre les fonctionnalités suivantes :

  • Ajout de produits : Permet d'ajouter un nouveau produit dans la base de données.
  • Consultation de produits : Permet de récupérer les détails d'un produit par son identifiant UUID.
  • Mise à jour de produits : Permet de mettre à jour les informations d'un produit existant.
  • Suppression de produits : Permet de supprimer un produit de la base de données.
  • Recherche de produits : Permet de rechercher des produits en fonction d'un mot-clé dans leur nom.

Utilisation

  • Démarrage de Cassandra avec Docker : Assurez-vous que Docker est installé et fonctionnel.
  • Accès à l'API via Swagger UI : Une fois l'application démarrée, accédez à Swagger UI pour interagir avec l'API :
http://localhost:8080/swagger-ui.html

Architecture du Projet

  • Entité Product: Modèle de données pour les produits.
  • ProductRepository: Interface pour les opérations CRUD sur Cassandra.
  • ProductServices: Service layer offrant des méthodes pour gérer les produits.
  • ProductRestAPI: Contrôleur REST pour interagir avec l'application via HTTP.

Configuration Technique

Cassandra dans Docker

version: '3'
services:
  cassandra:
    image: cassandra:latest
    container_name: cassandra
    environment:
      - CASSANDRA_DC=dc1
      - CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch
    ports:
      - '9042:9042'

Dépendances Maven

Inclure les dépendances suivantes dans votre fichier pom.xml pour tirer parti des fonctionnalités de Spring Boot, Cassandra et Swagger UI:

<!-- Swagger UI for API Documentation -->
<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.1.0</version>
</dependency>

<!-- Cassandra Data and Web Support -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- Docker Compose Integration -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-docker-compose</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

Remarque : Ce projet est destiné à des fins de démonstration uniquement.
N'oubliez pas de configurer correctement la connexion à Cassandra avant de démarrer l'application.
Contribuer : N'hésitez pas à contribuer à ce projet en créant des pull requests!

cassandra_spring_boot's People

Contributors

elmouaddibe avatar

Stargazers

El yazid Hakimi avatar Nouhayla MOUAKKAL avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.