Contract for earning crypto token

I’m trying to build a smart contract for users to earn crypto tokens after completing a task such as watching a movie.

I’ve been able to create a contract for tokens, but can’t seem to know how to modify it to get the above description.

I’m new to smart contracts and web3

This is a very broad question. Try to break it down into smaller problems and ask about them separately. For example, how will users prove or claim that they have completed the task such as watching a movie?