Hi Temporal Community,
I need your assistance regarding an application I am building in Go that provides a certain product to users through a mobile application. The workflow involves several steps, and I am exploring Temporal to manage this process. Here is an overview of the workflow:
- User Data Entry: Users enter data through multiple pages sequentially in the app. Each page has a submit button that advances the backend (BE) process to the next step. The BE needs to get the data, advance to the next step, and return control to the user (client) for the next data entry step.
- Separate Workstreams: Within the user journey, there could be other completely different workstreams that the user needs to carry out, such as KYC, which is separate from the loan journey.
- Backend Processing: Once the user is done submitting data on all pages, the BE needs to perform a series of steps like risk checks and payments, involving other microservices in a specified sequence.
- Operations Team Intervention: In certain scenarios, an operations team will need to approve the loan or perform other tasks that will resume the user’s journey.
- Event-Driven Resumption: Other BE services might send events in Kafka that would resume the ongoing flow.
We currently manage this with state machines, but it is becoming increasingly difficult to maintain and keep bug-free. Therefore, we are exploring Temporal for this purpose.
My Questions:
- How can Temporal handle the steps mentioned above?
- Are there specific sections or features within Temporal that I should explore for this use case?
- Are there any example code references or documentation that would be particularly helpful?
- Based on your experience, is Temporal a good fit for this type of workflow?
Any additional insights or suggestions to gather the best answers from the community would be greatly appreciated.
Thank you!