Coder Social home page Coder Social logo

agustinsrg / personalmediavault Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 9.81 MB

Web application to store media files (video, audio and pictures) in an encrypted storage, and visualize them using a web browser.

Home Page: https://agustinsrg.github.io/pmv-site/

License: MIT License

Batchfile 0.09% Shell 0.11% Go 28.65% HTML 0.07% JavaScript 1.18% Vue 53.18% TypeScript 12.44% PowerShell 0.05% Dockerfile 0.02% CSS 4.21%
audio ffmpeg golang media personal pictures vault video vue personal-media-vault pmv encrypted storage

personalmediavault's Issues

Improve PlayerMediaEditor

Currently the PlayerMediaEditor is too big and messy, doe to the amount of options.

Add a top menu with the options, and split into smaller components.

[Frontend] Remove dependency: Axios

Replace axios with native fetch + XMLHttpRequest (for upload progress).

Goal: Reduce frontend script size and remove external dependency.

Frontend: Save current album search

When visiting the albums page:

  • Auto focus the search input.
  • Save the search value globally so it is not lost when going back (navigation).

Backend: Improve cache

Improve cache with go co-routines and better concurrency management for that part of the backend.

New version notice

Add a notice when you connect to the server, and the client version is different.

The notice should be at the bottom, with a button to dismiss it.

Minor frontend issues / improvements

List of issues or improvements detected:

  • Video player and audio player should not auto play when the album upload modal is openned.
  • Album add modal should display upload by default (it's the most common used option)
  • Player top bar should not have a flashing scroll bar when the open / close animation is playing
  • Wrong auto scrolling when changing pages having the player openned
  • Rare desync of Video player mouse tracker, cuasing controls not to auto hide (Seems to happen when going to full screen mode sometimes)
  • If the duration of a video is too short (eg: less than 5s), set loop enabled on load. Same for audio player. To prevent intant auto next.
  • When going to next for audios and videos, and not in album, add a 3 seconds warning

The goal is to detect as many issues as possible to polish the frontend.

Improve upload view

Move the options Add into an album and Add tags into a modal that is shown the moment you upload media.
Keep the parallel uploads option in the view, but improve its style.

Feature: Extended description

Add extended description feature:

  • It's a text file to store stuff like stories, context or other information.
  • Display as a modal, similar to tags or albums
  • Store as a single-file asset, similar to image notes

Feature: Attachments

Add new feature:

  • Allow to add attachments to the media assets, like the original / uncompressed file, associated documents, etc.
  • Add upload & encryption progress.
  • Allow downloading
  • Allow deleting
  • When the media is deleted, delete all the attachments

Launcher: User-specific config

When using a portable vault, it's a bit annoying to change the configuration if you have the configured port busy.

Proposed changes

  • Use the os.UserConfigDir() to store the launcher config for each vault (use the vault path as the key)
  • Fall back to the launcher.config.json for retro-compatibility.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.