{"id":29425970,"url":"https://github.com/bruce-mig/spring-apache-cassandra","last_synced_at":"2026-04-17T06:34:31.390Z","repository":{"id":304147132,"uuid":"1017899264","full_name":"bruce-mig/spring-apache-cassandra","owner":"bruce-mig","description":"This repository contains multiple projects using Apache Cassandra.","archived":false,"fork":false,"pushed_at":"2025-07-11T09:59:19.000Z","size":54,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-11T12:46:36.040Z","etag":null,"topics":["apache-cassandra","cassandra","cql","cqlsh","reactive-programming","sstable"],"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/bruce-mig.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,"zenodo":null}},"created_at":"2025-07-11T09:18:30.000Z","updated_at":"2025-07-11T10:00:09.000Z","dependencies_parsed_at":"2025-07-11T12:56:53.600Z","dependency_job_id":null,"html_url":"https://github.com/bruce-mig/spring-apache-cassandra","commit_stats":null,"previous_names":["bruce-mig/spring-apache-cassandra"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bruce-mig/spring-apache-cassandra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruce-mig%2Fspring-apache-cassandra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruce-mig%2Fspring-apache-cassandra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruce-mig%2Fspring-apache-cassandra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruce-mig%2Fspring-apache-cassandra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bruce-mig","download_url":"https://codeload.github.com/bruce-mig/spring-apache-cassandra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruce-mig%2Fspring-apache-cassandra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31918720,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["apache-cassandra","cassandra","cql","cqlsh","reactive-programming","sstable"],"created_at":"2025-07-12T11:00:39.154Z","updated_at":"2026-04-17T06:34:31.366Z","avatar_url":"https://github.com/bruce-mig.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spring-apache-cassandra\n\n## Overview \nThis repository contains multiple projects using Apache Cassandra.\n\n![cassandra](logo.png)\n\n---\n\n## Features\n\n- **Local Apache Cassandra Cluster** setup with Docker Compose (both standalone and multi-node options)\n- **Spring Boot integration** for CRUD operations with Apache Cassandra\n- **Swagger UI** for testing API endpoints\n\n---\n\n## Prerequisites\n\n- [Docker](https://www.docker.com/) \u0026 [Docker Compose](https://docs.docker.com/compose/)\n- Java 17+ and Maven (for Spring Boot app)\n- Optional: Astra DB, for a cloud based Cassandra cluster\n\n---\n\n## Getting Started\n\n### 1. Clone the repository\n\n```bash\ngit clone https://github.com/bruce-mig/spring-apache-cassandra.git\ncd spring-apache-cassandra\n```\n\n---\n### 2. Set up Cassandra cluster\n\nStart multi-node Pulsar cluster:  \n\n`docker compose up -d`\n\nOr, for standalone mode:  \n\n`docker compose up cassandra-1 -d`\n\n---\n## Configure apache cassandra\n\nThe Cassandra Query Language (CQL) is very similar to SQL but suited for the JOINless structure of Cassandra. \nThe CQL shell, or cqlsh, is one tool to use in interacting with the database. \nWe’ll use it to configure the database.\n\n```bash\ndocker exec -it cassandra-1 bin/bash\n\ncqlsh\n\ndescribe keyspaces;\n\nCREATE KEYSPACE IF NOT EXISTS migeri WITH REPLICATION ={ 'class' : 'SimpleStrategy','replication_factor' : '1'};\n```\n\n### user-management-cassandra\n\nConfigure the cluster for the [user-management-cassandra](https://github.com/bruce-mig/spring-apache-cassandra/tree/main/user-management-cassandra) project as below.\n\n```bash\nuse migeri;\n\nCREATE TABLE IF NOT EXISTS users (id int PRIMARY KEY,name text,address text,age int);\n\n# add index on columns to be filtered \ncreate index on users(age);\n\nselect * from users;\n```\n\n### reactive-user-management\n\nConfigure the cluster for the [reactive-user-management](https://github.com/bruce-mig/spring-apache-cassandra/tree/main/reactive-user-management) project as below.\n\n```bash\nuse migeri;\n\nCREATE TABLE IF NOT EXISTS users (id int PRIMARY KEY,name text,address text,age int);\n\n# add index on columns to be filtered \ncreate index on users(age);\ncreate index on users(address);\n\n# insert\nINSERT INTO migeri.users (id ,name ,address ,age ) VALUES (6347, 'User1', 'City1', 25);\nINSERT INTO migeri.users (id ,name ,address ,age ) VALUES (6348, 'User2', 'City2', 28);\nINSERT INTO migeri.users (id ,name ,address ,age ) VALUES (6349, 'User3', 'City3', 27);\nINSERT INTO migeri.users (id ,name ,address ,age ) VALUES (6350, 'User4', 'City4', 22);\n\nselect * from users;\n```\n\n---\n\n## Application Usage\n#### 1. Build \u0026 Run Spring Boot App\n\n```bash\ncd \u003cproject-name\u003e\n./mvnw spring-boot:run\n```\n\nApi Docs\nhttp://localhost:8080/swagger-ui/index.html#/\n\n---\n\n## Project Structure\n\n- user-management-cassandra: Spring Boot project\n- reactive-user-management: Spring Boot project using Reactive Cassandra Repositories and Reactive web\n- scripts: CQL Scripts \n- docker-compose.yaml: Docker Compose configurations\n\n## References\n[Apache Cassandra Documentation](https://cassandra.apache.org/doc/latest/)  \n[Spring Data for Apache Cassandra](https://spring.io/projects/spring-data-cassandra)  \n\n## License\nThis project is licensed under the [MIT License](LICENCE).\n\n## Contributing\nContributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbruce-mig%2Fspring-apache-cassandra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbruce-mig%2Fspring-apache-cassandra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbruce-mig%2Fspring-apache-cassandra/lists"}