https://github.com/pensieve-project/pensieve-server
The backend part of the Pensieve Project.
https://github.com/pensieve-project/pensieve-server
cassandra elasticsearch java kafka logstash postgresql redis spring-boot
Last synced: 4 months ago
JSON representation
The backend part of the Pensieve Project.
- Host: GitHub
- URL: https://github.com/pensieve-project/pensieve-server
- Owner: pensieve-project
- Created: 2025-02-10T13:13:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-23T16:15:16.000Z (about 1 year ago)
- Last Synced: 2025-06-23T17:26:06.018Z (about 1 year ago)
- Topics: cassandra, elasticsearch, java, kafka, logstash, postgresql, redis, spring-boot
- Language: Java
- Homepage:
- Size: 26.5 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Dependencies
- JDK 21
- PostgreSQL
- Cassandra
- Elastic Search
- Redis
- Kafka
- Logstash
All the required databases and services can be started with Docker Compose using the provided `docker-compose.yml` file, or individually using the `[db-name]-start.sh` and (if available) `[db-name]-init.sh` scripts in each respective service folder (e.g., `postgres/docker`, `cassandra/docker`, etc).
Alternatively, you can use your own running instances, but ensure that all services are accessible using the connection settings in `application.properties`.
## How to build
1. Clone the repository:
```bash
git clone https://github.com/pensieve-project/pensieve-server.git
cd pensieve-server
```
2. Copy `application-template.properties` to `application.properties`, edit secrets and DB settings
3. Generate [Elastic Search certificate](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-ssl-certificates), add to truststore:
```bash
keytool -importcert -alias elastic-ca -file path/to/your/ca.crt -keystore src/main/resources/certs/elastic-truststore.jks -storepass YOUR_ELASTIC_TRUSTSTORE_PASSWORD -noprompt
```
4. Build and run:
```bash
./gradlew build
./gradlew bootRun
```
## Testing
1. Copy your `application.properties` to `application-test.properties`
2. Run the tests with:
```bash
./gradlew test
```