MongoDB support, concurrent streams, player/backend file handling refactor, and more! #378
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Prologue
Normally I don't like to combine unrelated additions into one PR but the concurrent streaming functionality (see #171) and refactor of the player component go hand in hand. Once that was done, it seemed natural to update file download (to browser)/deletion process to use file UIDs instead of relying on their name (which we confusingly called ID).
Once I made these changes, I couldn't help myself to refactoring all DB calls to be more platform-agnostic. And thus, MongoDB support was born.
I also added some backend unit tests as a sanity check for DB operations and file access on shared videos -- we didn't have any unit tests and so this is much needed. There's still a lot of backend refactoring to do but this is a huge step forward.
New additions
local_db.json
file where you can modify properties and transfer it back. Or, you can just keep it local and it'll work just as it did before.Screenshots:
Database settings
Concurrent streams demo
111569899-4393af00-8769-11eb-9cb6-7b230e2c3a86.mp4