├── .gitignore ├── Dockerfile ├── api └── client.http ├── cmd └── walletcore │ └── main.go ├── docker-compose.yaml ├── go.mod ├── go.sum ├── internal ├── database │ ├── account_db.go │ ├── account_db_test.go │ ├── client_db.go │ ├── client_db_test.go │ ├── transaction_db.go │ └── transaction_db_test.go ├── entity │ ├── account.go │ ├── account_test.go │ ├── client.go │ ├── client_test.go │ ├── transaction.go │ └── transaction_test.go ├── event │ ├── balance_updated.go │ ├── handler │ │ ├── balance_updated_kafka.go │ │ └── transaction_created_kafka.go │ └── transaction_created.go ├── gateway │ ├── account.go │ ├── client.go │ └── transaction.go ├── usecase │ ├── create_account │ │ ├── create_account.go │ │ └── create_account_test.go │ ├── create_client │ │ ├── create_client.go │ │ └── create_client_test.go │ ├── create_transaction │ │ ├── create_transaction.go │ │ └── create_transaction_test.go │ └── mocks │ │ ├── account_gateway.go │ │ ├── client_gateway.go │ │ ├── transaction_gateway.go │ │ └── uow.go └── web │ ├── account_handler.go │ ├── client_handler.go │ ├── transaction_handler.go │ └── webserver │ └── webserver.go └── pkg ├── events ├── event_dispatcher.go ├── event_dispatcher_test.go └── interface.go ├── kafka ├── consumer.go ├── producer.go └── producer_test.go └── uow └── uow.go /.gitignore: -------------------------------------------------------------------------------- 1 | .docker -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/Dockerfile -------------------------------------------------------------------------------- /api/client.http: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/api/client.http -------------------------------------------------------------------------------- /cmd/walletcore/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/cmd/walletcore/main.go -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/go.sum -------------------------------------------------------------------------------- /internal/database/account_db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/account_db.go -------------------------------------------------------------------------------- /internal/database/account_db_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/account_db_test.go -------------------------------------------------------------------------------- /internal/database/client_db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/client_db.go -------------------------------------------------------------------------------- /internal/database/client_db_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/client_db_test.go -------------------------------------------------------------------------------- /internal/database/transaction_db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/transaction_db.go -------------------------------------------------------------------------------- /internal/database/transaction_db_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/database/transaction_db_test.go -------------------------------------------------------------------------------- /internal/entity/account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/account.go -------------------------------------------------------------------------------- /internal/entity/account_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/account_test.go -------------------------------------------------------------------------------- /internal/entity/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/client.go -------------------------------------------------------------------------------- /internal/entity/client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/client_test.go -------------------------------------------------------------------------------- /internal/entity/transaction.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/transaction.go -------------------------------------------------------------------------------- /internal/entity/transaction_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/entity/transaction_test.go -------------------------------------------------------------------------------- /internal/event/balance_updated.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/event/balance_updated.go -------------------------------------------------------------------------------- /internal/event/handler/balance_updated_kafka.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/event/handler/balance_updated_kafka.go -------------------------------------------------------------------------------- /internal/event/handler/transaction_created_kafka.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/event/handler/transaction_created_kafka.go -------------------------------------------------------------------------------- /internal/event/transaction_created.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/event/transaction_created.go -------------------------------------------------------------------------------- /internal/gateway/account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/gateway/account.go -------------------------------------------------------------------------------- /internal/gateway/client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/gateway/client.go -------------------------------------------------------------------------------- /internal/gateway/transaction.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/gateway/transaction.go -------------------------------------------------------------------------------- /internal/usecase/create_account/create_account.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_account/create_account.go -------------------------------------------------------------------------------- /internal/usecase/create_account/create_account_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_account/create_account_test.go -------------------------------------------------------------------------------- /internal/usecase/create_client/create_client.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_client/create_client.go -------------------------------------------------------------------------------- /internal/usecase/create_client/create_client_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_client/create_client_test.go -------------------------------------------------------------------------------- /internal/usecase/create_transaction/create_transaction.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_transaction/create_transaction.go -------------------------------------------------------------------------------- /internal/usecase/create_transaction/create_transaction_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/create_transaction/create_transaction_test.go -------------------------------------------------------------------------------- /internal/usecase/mocks/account_gateway.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/mocks/account_gateway.go -------------------------------------------------------------------------------- /internal/usecase/mocks/client_gateway.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/mocks/client_gateway.go -------------------------------------------------------------------------------- /internal/usecase/mocks/transaction_gateway.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/mocks/transaction_gateway.go -------------------------------------------------------------------------------- /internal/usecase/mocks/uow.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/usecase/mocks/uow.go -------------------------------------------------------------------------------- /internal/web/account_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/web/account_handler.go -------------------------------------------------------------------------------- /internal/web/client_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/web/client_handler.go -------------------------------------------------------------------------------- /internal/web/transaction_handler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/web/transaction_handler.go -------------------------------------------------------------------------------- /internal/web/webserver/webserver.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/internal/web/webserver/webserver.go -------------------------------------------------------------------------------- /pkg/events/event_dispatcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/events/event_dispatcher.go -------------------------------------------------------------------------------- /pkg/events/event_dispatcher_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/events/event_dispatcher_test.go -------------------------------------------------------------------------------- /pkg/events/interface.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/events/interface.go -------------------------------------------------------------------------------- /pkg/kafka/consumer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/kafka/consumer.go -------------------------------------------------------------------------------- /pkg/kafka/producer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/kafka/producer.go -------------------------------------------------------------------------------- /pkg/kafka/producer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/kafka/producer_test.go -------------------------------------------------------------------------------- /pkg/uow/uow.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devfullcycle/fc-eda/HEAD/pkg/uow/uow.go --------------------------------------------------------------------------------