Tak widziałem twoje repo, niestety popełniłem kilka mikroserwisów i podejście, o któym pisałem mi się sprawdza. Kiedy cała serwis to jeden moduł, jeden projekt. Jeżeli chodzi o zależności to ogrywam to osobnymi pakietami i poziomem dostępów, gdy część domeny z czasem się rozrasta i zasługuje na wydzielenie to ten pakiet staje się osobnym projektem. Nie rozumiem natomiast o co chodzi z
ktoś kto będzie chciał korzystać z twojej aplikacji moze to zrobić w prosty sposób
Jak ktoś będzie chciał skorzystać z mojej aplikacji to niech zostawi ją w spokoju i się zintegruje po httpie czy jakimś MQ.
Musi też znać endpointy, obsłużyć auth itd.
No tak, musi znać endpointy i generalnie kontrakt serwisu, wypadałoby żeby nie zrobić kuku sobie lub mi. Wypadałoby nawet porozmawiać chwilę, bo moze się okazać, że są inne narzędzia/serwisy/whatever które bedą lepsze dla jego potrzeb lub np. mój serwis nie jest gotowy na obsługę ruchu, jaki ktoś wygeneruje.
Zaręczam ci ze dużo wygodniej jak możesz dodać sobie zależność a potem w kodzie zrobić:
Tak, to prawda można udostępnić taki kod, gdzie ja jako właściciel serwisuje przygotuję kod kliencki, ale jeżeli serwisy się komunikują po HTTPie to ktoś wtedy może dostać w gratisie zależność, której nie potrzebuje np. inny klient HTTP. Zakładając, że 'klient' mojego serwisu może skorzystać z mojego kodu klienckiego, bo mój serwis jest napisany w kotlinie, a jego w pythonie. Generalnie to nie twierdzę, że moje podejście jest jedyne i słuszne, tylko zależy od organizacji i tego jak ludzie się dogadali, żeby pracowac.