Add library app (fix #7 #10)

Ref: #7 #10

This only adds the basic logic of the app. More to come in other PRs :)
It doesn't work, because when we have an empty string, we don't want it to be returned, but instead we want None to be returned. `.get` will return an empty string, as it only tests if the key exists or not.