When you are a professor with 80 students who submit hundreds of files to you every week, what do you do? One answer: you build your own learning management system (LMS).
Students do not name their files intuitively (“Untitled.pdf”), nor do many include their names on their homework. Some students submit inappropriate file formats or 1 gigabyte files. Some students don’t submit their homework at all.
This system isn’t a strict LMS. It’s a way to manage the insanity of tracking and organizing thousands of student files. It was built with HTML, CSS, JavaScript, and PHP over the course of a year, and it uses SQLite as a backend.
The LMS also integrated lightly with the course website (built with Jekyll). When announcements were committed to the website via git, a special git hook sent personalized emails with the contents of the announcement to each student. Students could elect to quell these announcements, if desired.