Unterstanding Kinesis Enrich


i have some problems understanding and getting to run the kinesis enrich prozess.

Problem 1: Understanding the process
Is there a good source for documentation in terms of enrichment?
You find here and there some configuration examples in the forum but its hard to find a well documented source which explains the configuration parameters in detail.

I am very interested in the connection between the schema set in the tracker, its relation to the enrich and storage process. We want in the first step to log our application errors and i am wondering on how to define a fitting schema for this.

Problem 2: Error messages when starting enrich process
I am starting the process like this:
java -jar .\snowplow-stream-enrich-kinesis-0.21.0.jar --config .\application.conf.txt --resolver file:iglu_resolver.json

Error message:
Cannot convert configuration to a com.snowplowanalytics.snowplow.enrich.stream.model$EnrichConfig.
Failures are: at ‘streams.appName’: - (file:/C:/snowplow/Enrich/./application.conf.txt:19) Key not found.

Do i really need that key? I thought this was optional?
So i need to set up DynamoDB with AWS so the enrich-process has a place to store internal information?
Is this data store maintained automatically, meaning is it growing and growing or will it be flushed automaticall in certain intervals?