|I am primarily a test automation engineer, and I have very little experience with full-stack Web development, but I'd like to learn. I have an idea for a training/education video platform in the vein of Pluralsite or Udemy but tailored for college-level instructors and their students.
A professor creates accounts for his/her students, and when the students log in they are directed to a page with links to tutorial/instructional videos relevant to the course. The video player is set up in such a way that the student can't fast forward, only pause or rewind or scroll up to the video's current elapsed time. After the student reaches the end of the video, he/she can scroll the entire length of the tutorial (permanently) and unlocks the next video in the series. The idea is that the student can earn a participation grade by watching the tutorials from beginning to end and can't "cheat" just by scrolling to the end.
The tutorials will be interrupted randomly with video clips displaying questions which will appear on an upcoming exam, kind of like YouTube ads you can skip after a few seconds. Every question on a given exam will show up, but not every question will appear to every student. The students are therefore incentivized to watch every video so as to gather test questions then work together with their peers to prepare for the test.
I believe this could be a useful tool for teachers who can't fit all the material they're required to cover in a single 55 minute lecture. For example, a computer science instructor could use the lecture to discuss concepts and theory and then use the tutorial system to demonstrate how to code.
I'd like some advice on how to get started. Has anyone already done something like this? What's a good framework to build the UI? What about the backend? I have some experience with React.js and C# ASP.NET.
Can anyone recommend any good tutorials for this sort of project?
Here's a big one: are there any open-source tools I can use to build mock-ups of web pages? Can I use an open-source video player, or would I have to build one from scratch to get it to do What I want it to?