View Code? Open in Web Editor
NEW
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's Issues
Acceptance criteria
Every TODO regarding this topic has been resolved and removed
Settings includes features to
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)
Acceptance criteria
When decreasing browser window height, ensure that contents do not overlap
Acceptance criteria
User is presented with drag&drop screen to upload audio files for conversion
User is presented with file browser to upload audio files for conversion
User is presented with drop down menus where it can further specify its destination file format.
Uploads shall be deleted after every successful conversion AND before uploading new files.
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.
Acceptance criteria
The home screen provides general information about the app including
headline
short introduction
"Get started"-button which redirects to the drag&drop screen
"Login"-button
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
Acceptance criteria
Every compare operation involving audio files uses MIME types
Every TODO regarding this topic has been resolved and removed
Acceptance criteria
download.py zip function accepts list of paths as arguments and uses them to generate a downloadable zip file
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
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
Acceptance criteria
Every menu button contains a description which will be displayed on hovering (title
-tag in HTML)
Acceptance criteria
The website header includes button to switch between previously mentioned languages.
All html files are available in German and English.
Acceptance criteria
User is able to reset its password from the user-information screen.
While resetting the password, data integrity within the database has to be guaranteed.
Acceptance criteria
All critical tasks are logged on the server-side
All critical tasks are logged on the client-side
Acceptance criteria
Docker image is being built automatically
Docker image is being committed and deployed automatically
Acceptance criteria
User is able to sing out on the side header.
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
Acceptance criteria
The docker container includes all relevant files for development.
The docker container can be started using compose
.
The docker container serves the app.
Acceptance criteria
Every error page template uses the babelex translation
Every error page template contains the translation flag and can be translated by the user by clicking on it
Acceptance criteria
User is provided with information screen about its stored data and has option to edit them.
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
Acceptance criteria
User is able to reset its password from the login screen.
While resetting the password, data integrity within the database has to be guaranteed.
Acceptance criteria
All templates use one signal color.
Basic design is implemented using greyscale colors.
All templates use a modern, readable font.
Buttons and pictograms are arranged intuitively.
needs #5
Acceptance criteria
Converted audio files are stored in a specific folder (with subfolders named with user-id for every logged-in user)
Hashes to these files are stored in the database and are associated with the proper user.
Converted files from unknown users will be deleted immediately after browsing to a new page or disconnecting.
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
Acceptance criteria
An error page template has been created and accepts two variables
error_message
: includes a description about the error
error_code
: includes the http error code
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.
Acceptance criteria
Imprint has been generated and inserted into imprint.html
Privacy Notice has been generated and inserted into privacy.html
Acceptance criteria
Header and footer are visible on every screen.
Optional: Perhaps footer is hidden on home screen.
Header and footer are adjusted depending on every screen
For example, user information logo, etc.
The header logo redirects to the home screen.
The footer includes copyright mentions, privacy information and an imprint.
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
Acceptance criteria
All comments tagged with FIXME have been resolved
Acceptance criteria
User can switch to a logging view where previous conversion tasks are displayed
Optional: User is able to download previously converted audio files
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 /
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