-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
🔧 Feature: Coroutine Integration (Planned)
📌 Summary
Currently, all the service operations in the project are written synchronously or use runBlocking where needed. While this works for a small CLI application, it blocks threads and can affect performance when scaling or adding concurrent tasks.
To improve scalability, responsiveness, and architecture, I plan to refactor the project to fully support Kotlin Coroutines in service layers, especially:
TransactionServiceBankServiceUserService
✅ Goals
- Refactor suspendable methods to use structured concurrency properly
- Use coroutine scopes (
CoroutineScope,SupervisorJob, etc.) where needed - Improve responsiveness and non-blocking I/O
- Avoid
runBlockingin the CLI whenever possible - Handle exceptions gracefully using coroutine context
📍 Tasks
- Introduce CoroutineScope properly at application level
- Replace
runBlockingin CLI with structured calls - Convert service methods to suspend functions
- Use
Dispatchers.IOonly where needed - Add unit tests to validate coroutine behavior
- Update documentation
🚀 Benefits
- Better performance and non-blocking behavior
- Cleaner architecture
- Easier future transition to multi-threaded or reactive CLI
- Prepares the project for potential backend/server refactor
📌 Priority
Low (for now) — but recommended for future scalability and clean architecture.
🔖 Labels
enhancement, refactor, coroutines, good first issue (if you want contributors to help)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers