We need to set up an interactive online training program.
A participant needs to register to participate.
Then he/she can follow a number of chapters, some of them mandatory, others optional.
Finally, the participant has to take an exam and answers the questions for each chapter in a limited timespan. Not all the chapters need to be done in the same day, but over multiple sessions. So the system needs to keep track of intermediate results
Upon successful completion of the exam, a certificate will be sent.
I am familiar with desktop application development in Visual Studio, just with programming for the web.
Are there any modules that can be used for this purpose?