🐟 Simulator of payment processor`s behaviour.
- Producing tokenized data of customer card info to consumer via Apache Kafka
- Customer API endpoint receive REST request with customer card data via HTTP;
- Customer service generate unique id for transaction via Redis and sent to Kafka input topic;
- Tokenizer Streams listen Kafka input topic and tokenize incoming data by symmetric encription,
save decryption key to Redis and push tokenization data to Kafka output topic;
- Consumer poll Kafka output topic and decrypt tokenization data by decryption key from Redis.
👉 Spring-Boot
👉 Spock Testing
👉 Redis
👉 Kafka
👉 Docker integration
Use command "docker-compose build" to build docker images and "docker-compose up" for starting containers. To get information about Customer API see customer-service-api/src/main/swagger/api.yaml.
Also you can build it and run microservices ('source' aka Customer-API, 'flow' aka Tokenizer, 'proof' aka Customer) by using script commands in setup dir.