Functionalities of the repository ================================= All of this is still TBD! Main entity in the system will be a "resource", which represents a single content item, that comprises of many files. For example resource might contain: * Youtube link to a video; * Downloadable video version; * Subtitles for the downloadable video in Polish; * Subtitles for the downloadable video in English; Requirements ------------ * We might store resources that contain multiple files; * One of these files will be "default" (in this case youtube link). * These files will be rendered (youtube links will embed to iframe, pdfs will be rendered using browser) * Metadata is extracted from files, but users can add their own (predefined) metadata. * Files in resources can be overriden and versioned. * You can filter files in resource using language tags. * (Stretch goal) There should be an easy way for an user to "fork" materials --- user will get a copy of a resource which he might edit to his needs. * Multilanguage versions. * Is integrated with S3 service or analogous. S3 service is a blob store as a service --- basically you upload static files there, and they are served from there. Backups, consistency, availability and handling transfer spikes is on their side. .