Practical Quest Progression in Blueprints

Do not create hardcoded quests. Instead go for code + data model.
Doing hardcoded quests you will be forced to code same functionality for each quest. There will be ton of redundant code.
Instead do set of functions and condition checks for quest (something like quest engine).
Then drive it from database or some text file etc. That part may require some C++.

First you should write down types of quests you want, then think about progression checks for those quests.
Quest engine is big piece of code, doing it without any preparation and design documents will be quite big waste of time.
So make design document for it, split everything into small tasks, then see what functionality is common start coding from such basic functions.
In time you get more ideas about how to proceed further.