A demo banking transaction system built with Temporal and Golang. This project demonstrates how to:
- Model long-running bank transactions as Temporal workflows.
- Track transaction states:
PENDING,IN_PROGRESS,SUCCESS,FAILED. - Use activities for debiting and crediting accounts.
- Query workflow state in real-time.
- Temporal Workflow for bank transactions
- Activities:
DebitAccount,CreditAccount - Query handler to check transaction status
- Worker for processing workflows
- Golang 1.21+
- Temporal Server (Docker recommended)
- Go modules enabled (
go mod init)
docker run -d --name temporal \
-p 7233:7233 \
temporalio/auto-setup