I think that the classic
is a good choice to begin.
Your error is simply the result of a tentative sum of type address with type string: it cannot work. In a previous version of the compiler it could have worked for conventional reasons: in that case the + operator in the kecca256 parentheses was there to say “pack this arguments”.
Given this, using the compilers of 5.x generation you are asked to explicitly pack the argument of kecca256 because of a language redefinition after version 5.0 or so of the compiler.
is now required instead of the old
keccak256(a + b)
Check the documentation: it can help very much!