You can evaluate completion without needing question components, but not using an assessment.
If you don't have an assessment in your course, completion can be set to be based on having completed all the components in the course. in config.json, set '_requireCourseCompleted' to true and '_requireAssessmentPassed' to false.
This will not give you a percentage though.
You could probably get a rough calculation of percentage complete by looking at the data that gets written out to suspend_data, which will look a bit like this:
"{"spoor":{"completion":"10100100000000000000000","_isCourseComplete":false"}}
The string of 1's and 0's represents the completion state of every block in the course, with 1 meaning it is completed and 0 meaning it is incomplete. So in the above example, 3 out of 23 blocks have been completed - giving you a completion percentage of 13%
Hope this helps...