I built Minima LMS after working with several LMS platforms and wanting to implement some design ideas differently. Key decisions I made: - Bitmap-based view tracking - tracks actual viewing/skipping patterns, not just "completed/incomplete" - Reusable date-based content - courses with specific dates can be duplicated without manually updating every date reference - Granular nested permissions - fine-grained access control that works naturally with hierarchical content structure - Caption-powered search - search video transcripts and jump directly to the timestamp - Live session attendance that handles all edge cases (entry/exit/re-entry) without needing server-side exception handling These choices solved real pain points I experienced. For example, most LMS platforms either over-track (too much DB overhead) or under-track (just yes/no completion). The bitmap approach gives detailed analytics efficiently. Built with Django, SolidJS, PostgreSQL, OpenSearch. MIT licensed. Quick start: sh dev.sh up Would love feedback from the community! |