diff --git a/Writerside/topics/starter-topic.md b/Writerside/topics/starter-topic.md
index 58b23bb..4338bde 100644
--- a/Writerside/topics/starter-topic.md
+++ b/Writerside/topics/starter-topic.md
@@ -24,4 +24,9 @@ Abstraction about reading/writing to resources (filesystem, http, s3, etc pp)
Defines the core interfaces
+
+Provides tui capabilities. When applied as koin modules
+the resources will automatically print a read/write progressbar
+on terminal.
+
\ No newline at end of file
diff --git a/app/src/main/kotlin/docthor/app/App.kt b/app/src/main/kotlin/docthor/app/App.kt
index 4da6221..1837084 100644
--- a/app/src/main/kotlin/docthor/app/App.kt
+++ b/app/src/main/kotlin/docthor/app/App.kt
@@ -7,7 +7,7 @@ import com.github.ajalt.clikt.parameters.options.required
import com.github.ajalt.clikt.parameters.types.enum
import com.github.ajalt.clikt.parameters.types.file
import de.itkl.core_api.coreApiModule
-import de.itkl.fileprocessing.ProgressBarFactory
+import de.itkl.core_api.interfaces.ProgressBarFactory
import de.itkl.textprocessing.textProcessingModule
import de.itkl.tfidf.Language
import de.itkl.tfidf.TerminalProgressBarFactory
diff --git a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressBarFactory.kt b/libraries/core-api/src/main/kotlin/de/itkl/core_api/interfaces/ProgressBarFactory.kt
similarity index 73%
rename from libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressBarFactory.kt
rename to libraries/core-api/src/main/kotlin/de/itkl/core_api/interfaces/ProgressBarFactory.kt
index 4e0c6d7..1abacae 100644
--- a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressBarFactory.kt
+++ b/libraries/core-api/src/main/kotlin/de/itkl/core_api/interfaces/ProgressBarFactory.kt
@@ -1,6 +1,4 @@
-package de.itkl.fileprocessing
-
-import de.itkl.core_api.interfaces.Resource
+package de.itkl.core_api.interfaces
interface ProgressBarFactory {
fun new(resource: Resource): ProgressBar
diff --git a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProcessingPipeline.kt b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProcessingPipeline.kt
index 1a088e9..f62aa8f 100644
--- a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProcessingPipeline.kt
+++ b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProcessingPipeline.kt
@@ -1,6 +1,7 @@
package de.itkl.fileprocessing
import de.itkl.core_api.interfaces.FileProcessor
+import de.itkl.core_api.interfaces.ProgressBarFactory
import io.github.oshai.kotlinlogging.KotlinLogging
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
diff --git a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressInputStream.kt b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressInputStream.kt
index 385a9b5..2d469dc 100644
--- a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressInputStream.kt
+++ b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/ProgressInputStream.kt
@@ -1,5 +1,6 @@
package de.itkl.fileprocessing
+import de.itkl.core_api.interfaces.ProgressBar
import java.io.InputStream
/**
@@ -11,7 +12,8 @@ import java.io.InputStream
*/
class ProgressInputStream(
private val inputStream: InputStream,
- private val progressBar: ProgressBar) : InputStream() {
+ private val progressBar: ProgressBar
+) : InputStream() {
@Volatile
var bytesRead: Long = 0
private set(value) {
diff --git a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/Resource.kt b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/Resource.kt
index ab8f79f..2d2b6b8 100644
--- a/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/Resource.kt
+++ b/libraries/fileprocessing/src/main/kotlin/de/itkl/fileprocessing/Resource.kt
@@ -1,13 +1,8 @@
package de.itkl.fileprocessing
-import de.itkl.core_api.interfaces.AbstractResource
+import de.itkl.core_api.interfaces.ProgressBarFactory
import de.itkl.core_api.interfaces.Resource
-import io.ktor.http.*
-import java.io.File
import java.io.InputStream
-import java.nio.file.Files
-import java.nio.file.Path
-import kotlin.io.path.name
class ProgressResource(
private val resource: Resource,
diff --git a/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/InverseDocumentFrequency.kt b/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/InverseDocumentFrequency.kt
index 854edf8..b9dd243 100644
--- a/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/InverseDocumentFrequency.kt
+++ b/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/InverseDocumentFrequency.kt
@@ -3,7 +3,7 @@ package de.itkl.tfidf
import com.github.doyaaaaaken.kotlincsv.dsl.csvWriter
import de.itkl.core_api.interfaces.FileProcessor
import de.itkl.core_api.interfaces.Resource
-import de.itkl.fileprocessing.ProgressBarFactory
+import de.itkl.core_api.interfaces.ProgressBarFactory
import de.itkl.textprocessing.HistogramCsvStorage
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
diff --git a/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/TerminalProgressBarFactory.kt b/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/TerminalProgressBarFactory.kt
index 8d31d90..9a823d3 100644
--- a/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/TerminalProgressBarFactory.kt
+++ b/libraries/tfidf/src/main/kotlin/de/itkl/tfidf/TerminalProgressBarFactory.kt
@@ -4,8 +4,8 @@ import com.github.ajalt.mordant.animation.ProgressAnimation
import com.github.ajalt.mordant.animation.progressAnimation
import com.github.ajalt.mordant.terminal.Terminal
import de.itkl.core_api.interfaces.Resource
-import de.itkl.fileprocessing.ProgressBar
-import de.itkl.fileprocessing.ProgressBarFactory
+import de.itkl.core_api.interfaces.ProgressBar
+import de.itkl.core_api.interfaces.ProgressBarFactory
class TerminalProgressBarFactory : ProgressBarFactory {
private val terminal = Terminal()
diff --git a/libraries/tui/build.gradle.kts b/libraries/tui/build.gradle.kts
index f65fc07..2a1e6b3 100644
--- a/libraries/tui/build.gradle.kts
+++ b/libraries/tui/build.gradle.kts
@@ -1,3 +1,4 @@
dependencies {
api(project(":libraries:core-api"))
+ implementation("com.github.ajalt.mordant:mordant:2.2.0")
}
\ No newline at end of file
diff --git a/libraries/tui/src/main/kotlin/de/itkl/tui/implementation/TerminalProgressBar.kt b/libraries/tui/src/main/kotlin/de/itkl/tui/implementation/TerminalProgressBar.kt
index 5f7dfc9..283af47 100644
--- a/libraries/tui/src/main/kotlin/de/itkl/tui/implementation/TerminalProgressBar.kt
+++ b/libraries/tui/src/main/kotlin/de/itkl/tui/implementation/TerminalProgressBar.kt
@@ -1,4 +1,10 @@
package de.itkl.tui.implementation
-class TerminalProgressBar {
+import de.itkl.core_api.interfaces.ResourceReadDecorator
+import java.io.InputStream
+
+class TerminalProgressBar : ResourceReadDecorator {
+ override fun decorate(length: Long, inputStream: InputStream): InputStream {
+ TODO("Not yet implemented")
+ }
}
\ No newline at end of file