Devset CE
Od dłuższego czasu pracuję z systemami opartymi na zdarzeniach, takimi jak Apache Kafka, i stale brakowało mi intuicyjnego narzędzia, które pozwalałoby szybko testować i eksplorować zdarzenia w realistycznym środowisku. Narzędzia, które byłoby lekkie, otwarte i umożliwiało szybkie budowanie symulacji – bez potrzeby skomplikowanej konfiguracji, bez ukrytych opłat, bez zamkniętych interfejsów.
Tak narodził się pomysł na Devset CE – moje pierwsze open-source'owe narzędzie, które tworzyłem z myślą o takich osobach jak ja: developerach backendowych, inżynierach danych, testerach i entuzjastach systemów zdarzeniowych.
Skąd wziął się pomysł?
W mojej codziennej pracy często potrzebuję:
- wysłać przykładową wiadomość do Kafki,
- przetestować, jak wygląda komunikacja między usługami,
- przeglądać schematy wiadomości i porównywać ich ewolucję,
- symulować zdarzenia w czasie rzeczywistym, by sprawdzić reakcję systemu.
Zamiast pisać dedykowane skrypty do każdego takiego zadania, chciałem mieć jedno proste narzędzie – coś jak „Postman dla systemów event-driven”. Po kilku tygodniach pracy, refaktorów, wahań i testów – udostępniam Devset CE na GitHubie.
🔗 https://github.com/devset-io/devset-ce
Co już działa?
Projekt jest w fazie rozwojowej, ale już teraz oferuje:
- podłączenie się do brokera Kafka,
- wysyłkę zdarzeń w formacie JSON,
- zarządzanie schematami wiadomości (np. JSON Schema),
- konfigurowalne przepływy zdarzeń i podstawowy silnik symulacyjny.
Co planuję dalej?
Ten projekt to dla mnie dużo więcej niż tylko kod. To przestrzeń, gdzie chcę:
- eksperymentować z pomysłami na testowanie rozproszonych systemów,
- rozwijać swoje umiejętności jako inżynier i twórca oprogramowania,
- uczyć się od społeczności open source i słuchać potrzeb użytkowników.
W kolejnych wersjach planuję m.in.:
- rozwinąć graficzny interfejs użytkownika (UI),
- lepsze wsparcie dla schematów i walidacji danych,
- możliwość integracji z narzędziami CI/CD,
- predefiniowane scenariusze do testowania flow zdarzeń,
- wsparcie nie tylko dla Kafki, ale też dla RabbitMQ, Pulsar czy NATS.
Dlaczego open source?
To mój pierwszy projekt, którym dzielę się publicznie. Decyzja o upublicznieniu nie była łatwa – jak wielu twórców, miałem swoje wątpliwości: „czy to wystarczająco dobre?”, „czy komuś się to przyda?”, „czy ktoś mnie nie zjedzie w komentarzach?”. Ale doszedłem do wniosku, że:
- otwarty kod to najlepszy sposób na rozwój, zarówno projektu, jak i mnie samego,
- społeczność potrafi dać ogromną wartość: feedback, pomysły, testy, wsparcie,
- być może ktoś z Was miał podobny problem i Devset CE mu pomoże.
Zapraszam do współpracy
Jeśli:
- korzystasz z Apache Kafka i potrzebujesz lepszego narzędzia do testów,
- masz pomysł, jak można usprawnić Devset CE,
- chcesz się czegoś nauczyć, a może dopiero zaczynasz z open source,
to serdecznie zapraszam do współtworzenia! Każdy komentarz, issue, pull request i pomysł jest mile widziany.
Technologie i rozwój – cykl wpisów
Projekt tworzony jest w Java 21 z użyciem Spring Boot jako backendu i JavaFX jako warstwy UI. To połączenie może wydawać się nietypowe – ale dokładnie o tym opowiem w jednym z kolejnych wpisów.
Na blogu Devset.pl będę regularnie publikował krótkie aktualizacje z rozwoju projektu, dzielił się przemyśleniami, trudnościami i technicznymi decyzjami. Pokażę Wam też kulisy tworzenia UI w JavaFX, integracji z brokerami oraz jak wygląda moje podejście do testów i obsługi flow zdarzeń.
Jeśli interesuje Cię rozwój tego typu narzędzi – zapraszam do śledzenia bloga!
Devset CE to dopiero początek. Mam nadzieję, że stanie się użytecznym narzędziem – i że wspólnie stworzymy coś wartościowego.
🛠 Repozytorium: https://github.com/devset-io/devset-ce
💬 Discord: link