Do I have to write @impl true before each function?

You need to understand the concept of behaviours first in order to understand what @impl is for.