Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivpal/prefixy
Project demonstrates how to get and update autocomplete suggestions
https://github.com/ivpal/prefixy
autocomplete kafka quarkus redis redpanda suggestions
Last synced: 21 days ago
JSON representation
Project demonstrates how to get and update autocomplete suggestions
- Host: GitHub
- URL: https://github.com/ivpal/prefixy
- Owner: ivpal
- License: mit
- Created: 2024-03-08T17:19:51.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-03-08T17:32:28.000Z (9 months ago)
- Last Synced: 2024-10-10T11:40:13.327Z (about 1 month ago)
- Topics: autocomplete, kafka, quarkus, redis, redpanda, suggestions
- Language: Java
- Homepage:
- Size: 577 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Prefixy
![architecture](./architecture.png)
Prefixy is an application that powers autocomplete suggestions. Suggestions dynamically update in response to user selection,
so users only see the most relevant data. Suggestions are stored in Redis in auto-complete suggestion dictionary. The user's selection is sent as an event to Redpanda.
Event processor processes events and updates data in Redis.## Packaging and running the application
```shell script
git clone https://github.com/ivpal/Prefixy.git
cd Prefixy/
```
You need Java 21 or higher to package and run the application.Run the application in dev mode:
```shell script
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d redpanda redis jaeger-all-in-one
./gradlew api:quarkusDev
./gradlew processor:quarkusDev
```Run the application in containers:
```shell script
./gradlew api:imageBuild
./gradlew processor:imageBuild
docker compose up -d
```## Usage
After launching the application, the swagger will be available via the link [http://localhost:8080/q/swagger-ui/#/](http://localhost:8080/q/swagger-ui/#/)
![swagger](./swagger.png)If you want to see traces, go to Jaeger UI via link [http://localhost:16686](http://localhost:16686)
![jaeger](./jaeger.png)
![jaeger-trace](./jaeger-trace.png)