This Django application uses JS libraries (ToastUI image editor for editing images with essential tools such as cropping, scaling, etc., and Toastify for toast messages).
On the back-end, one external service CoudinaryAPI has been used for storing/deleting images for users on external FileStorage. MongoDB was chosen as a primary database where users' data is stored.
Image converter was created with the Python library Pillow. It can be changed because of format support issues.
How does it works:
- User lands on the Home page and upload image with allowed format.
- After upload user will see an Info page with image information such as size, file name, aspect ratio etc.
- After clicking on "Edit image" user will be redirected to the Editor page, where he can save, restore original and download image.
On Converter page:
- User is able to upload multiple files (up to 15)
- User will choose an image format what he wants to convert and then click on convert
- After conversion finished user is able to see difference between original and converted image and download all converted images
Currently, this web application is deployed with service Fly.io on this link: https://webpeditor.fly.dev/. Please fill free to try it out.
Steps to run project:
1. Clone repo:
- Clone repo from https://github.com/timok19/webpeditor.git
2. Install necessary dependencies:
$ pip install pipenv && pipenv install --dev && pipenv update
$ npm install
3. Start server:
$ python manage.py runserver
4. Run TailwindCSS watcher:
$ npm run update-css
5. DONE 🚀
For any questions, problems, or issues, contact me on LinkedIn.