GithubHelp home page GithubHelp logo

mac641 / audio-converter Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 29.59 MB

audio-converter allows you to convert audio files from within your web browser.

License: MIT License

Python 39.37% Makefile 1.97% Dockerfile 1.05% CSS 10.16% HTML 46.55% Shell 0.89%
audio-converter converter python flask audio audio-processing ffmpeg

audio-converter's Introduction

Hi there ๐Ÿ‘‹

I'm Marcel. Welcome to my GitHub profile!

๐Ÿ‘ท Check out what I'm currently working on

๐ŸŒฑ My latest projects

  • mac641/gotep - gotep is a terminal-based REST client designed to execute HTTP tests based on the Jetbrains HTTP-Client.
  • mac641/audio-converter - audio-converter allows you to convert audio files from within your web browser.
  • mac641/tab-split-merger - Tab Split Merger for Firefox splits tabs into multiple windows and merges them back together into one.

๐Ÿ““ Gists I wrote

๐Ÿ“ซ How to reach me

Feel free to shoot me a message anytime! :)

audio-converter's People

Contributors

diehmlukas avatar mac641 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

audio-converter's Issues

Fix wrong timezone in log file

Issue

audio-converter.log currently doesn't CET, even though the actual has been mounted into the docker container.

Acceptance criteria

  • Make python logging use docker's local timezone

As audio-converter developer I want to utilize a clean documentation.

Acceptance criteria

  • The documentation is intuitively structured.
  • The documentation is easily understandable.
  • The documentation contains
    • a roadmap including implemented features.
    • possible features for future continuation of the project.
      • e.g. dark / light theme
      • e.g. wider conversion format support
      • e.g. edit audio file meta data
      • e.g. access previously converted audio files via user account settings
  • The documentation will be in English.

As audio-converter user I want to be presented with a loading page while my audio files are being converted.

needs #5

Acceptance criteria

  • A separate html file exists for displaying loading info
  • Converting tasks invoked from convert.html are triggered by using js rather than python (avoidance of longer load times while nothing is being presented to the user)
  • If no files have been selected for uploading and the user clicks on the upload button anyways, display an error message which encourages the user to upload at least one file.

Add cleanup feature

Acceptance criteria

  • The converted folder can be cleaned up via a button within the settings
  • History and related conversion count in DB will be reset
  • Reset conversion count

Resolve TODOs / FIXMEs

Acceptance criteria

  • All TODOs have been resolved
  • All FIXMEs have been resolved
  • TODOs, not mandatory for AWmP, are allowed to remain

Additionally

  • Format all files
  • Optimize all imports
  • Delete .designs folder

Redesign configs

Acceptance criteria

  • local_config.py has been renamed to user_config.py
  • config.py is read-only for every user

Suggestion

  • Adjust file permissions in .docker/dev.Dockerfile, .docker/prod.Dockerfile

Bugfixes for #34

Acceptance criteria

  • Files won't be stored in anonymous folder when not logged in -> In order to work properly, they have to be stored inside anonymous
  • Converting files removes some letters before and after the file -> In order to work properly, fix cutting pre- / postfixes randomly
    • Especially noticeable, when uploading multiple files with numbers in their file names
    • e.g.: Piano2.mp3 -> iano2.m
  • Fix huge 'Convert again' button on download page
  • Move files into user specific directory
  • Add css variable with color for css borders of conversation boxes (light blue -> dark blue)

Redesign backend endpoints

Currently backend endpoints provide rather random urls to access them.
It would be easier to use, if:

  • every endpoint which does not provide a html page is prefixed with /api/
  • all underscores in api urls have been replaced by /

Add loading screen for download page

Acceptance criteria

  • Loading circle similar to convert site is triggered when clicking the download button
  • Register even to let client know when a download popup was triggered and hide loading circle due to that

Enhance button info on hover

Acceptance criteria

  • Every menu button contains a description which will be displayed on hovering (title-tag in HTML)

Bugfixes

Acceptance criteria

  • Converting files removes some letters before and after the file
    • Especially noticeable, when uploading multiple files with numbers in their file names
    • e.g.: Piano2.mp3 -> iano2.m
  • If you selected the same file type as the files you have uploaded are already converted into, the resulting zip file is empty
  • utils.py calls create_path within delete_path -> remove it

As audio-converter user I want to register and sign in to the system.

Acceptance criteria

  • On the "home" screen the user will be displayed with a login button which redirects to the login screen.
  • A login screen is implemented.
  • User is able to register and its information is persisted in the database
  • User is able to log in by providing its username and password

Notes

  • Use Flask-Login

Add mobile support

Acceptance criteria

  • All html pages are visible on mobile phones and are displayed properly visible
  • All html pages are optimized for touch / gesture controlled devices
  • Mobile users are able to upload audio files
  • Mobile users are able to download a resulting zip archive

Tips for approaching

  • Use css @media queries to detect different display ratios / sizes in pixels

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.