dedovicnermin / bankingproject Goto Github PK
View Code? Open in Web Editor NEWReal-time payment application. Combines microservices to achieve event-driven functionality.
Real-time payment application. Combines microservices to achieve event-driven functionality.
Idea is to have connect as a source when transfers are persisted into postgres db, then to have that transfer sent to elastic search to made available for querying
place into separate pojo and inject as dependency
ensure all shared dependencies throughout project are placed in parent pom file
Modify your git wiki to hold documentation of the project. Should consist of what the project is about and how to use it
exception is thrown on all producer invocations.
message is reaching persistence, however creditor and debtor are null.
Account in router-streams and Account in Persistence will cause confusion.
Same with PaymentParty.
Classes are named the same but do not have same features/use case. Refactor
Would like to ensure all clients connecting to Kafka have credentials. secure connections.
Do not have in-depth knowledge on implementing security into Kafka ATM.
attempt to leverage kafka streams API instead of spring-kafka
even better: spring cloud + kafka streams
insert pom.xml into root of parent folder. adjust files for children
messageId does not need to be entered for data to be sent/processed on transfer requests. adjust wiki for this.
balance request input shouldn't require users to enter empty balance string or set errors flag to false. Refactor
Elastic component of rest application can be extended and functionality should be place in its own controller.
docker-compose-security : kafka environment (broker and all of its clients) are secured.
make a UI for project
learn and integrate ksql into project
replies on balance update request come full circle, but somewhere along the line, a stream is removing the correlationId header sent by rest.
Access denied on get request for router-streams state store.
docker-compose fix is likely
allow message id to come in as null. Generate UUID and insert into TransferMessage prior to sending the message to the broker.
Also means add topics for new bank. might have to recycle old topics to make name scheme more convenient
delegate serialization/deserialization to apache avro and create schema registry for objects.
will useful for ksql
aiming to not change any xml based interactions
upgrade brokers 1 -> 3
update partitions 1 -> 3
figure out how to test throughput. test X amount of messages being sent in a certain timespan, record values / seconds into csv, output to excel
create a Swagger UI for ksql API
TransferFundsIntegrationTest.whenTransferErrorArrives_errorConsumerWillConsume() - found in rest tests
when testing this class or specifically testing this case, will pass every time. However, running mvn clean install
typically requires two attempts (one fail / next passing).
Idea is to use @timeout junit annotation. If not, will have to add asynchronous library awaitility
goal is to limit the number of integration tests / application-context startups.
TestTopologyDriver should be used for replacing tests
Elastic search sink connector cannot parse date. Breaks kibana / elastic search functionality.
When running individual class file tests, works great. Embedded Kafka starts, executes tests, and closes.
However, when running mvn clean install
, sometimes a certain test will work and other times fail.
Upon further research, seems to me as if another test starts to run before completely shutting down the embedded kafka server.
Solution most likely involves having a single Kafka broker server and running all tests on this.
refactor embedded kafka tests on rest and persistence based on findings from transformer tests
a way for users to run the project with ease
AS a persistence application
I want to ensure kafka implementation will work or handle unexpected errors
add retry configuration to remove stress on computer
default integer.max_value
https://docs.travis-ci.com/
https://docs.travis-ci.com/user/status-images/
build status in md file
Safeguard from storing duplicate data
AS a Persistence application
I WANT currency to be represented as BigDecimal
persistence responses are reaching transfer status before router-streams can upsert processing status
add lombok.config file to each app
Rest returns the messageID upon sending transfer request. Use this ID to send another request, in which the bank will confirm wether or not the transfer message has been persisted
start postgres image
enter couple of rows for both tables with generic data
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.