Advance Image Downloader

Advance Image Downloader/Extractor (Job) is a Python-Flask web-based app, which will help the user download the any kind of Images at any date and time over the internet. These images will get downloaded as a job and then let user know that the images have been downloaded by sending them a link over an email.

12
2
Python

Advance Image Downloader/Extractor(Job)

Advance Image Downloader/Extractor (Job) is a Python-Flask web-based app, which will help the user download the any kind of Images at any date and time over the internet. These images will get downloaded as a job and then let user know that the images have been downloaded by sending them a link over an email.

Appendix

There are often a times, we need bunch images to work. We can consider the example such as training the Machine learning model over the Cat and Dog images or having those hundreds of beautiful desktop/mobile wallpaper on our laptop with just single click. In such scenario’s we need hundreds of images right away. This problem can be solved using the Advance Image Downloader application. The following use cases can be implemented:

  • To download the specified number of images of the particular type
  • To send the downloadable link to the user over an email
  • To let user download the image through just single click on link

Features

  • Responsive UI
  • Upto 500 images on single click
  • Email notification of the job activites
  • Cross platform

Demo of project

Click here for the project demo :- Project Demo

1. Submitting the job

2. Downloading the files

Screenshots

1. Homescreen

2. Submitted

3. Error

Run Locally

Clone the project

  git clone https://github.com/Sparab16/Advance-Image-Downloader

Go to the project directory

  cd Advance-Image-Downloader

Install dependencies

  pip install -r requirements.txt

Setting up the config files

    Update the values inside the config folder

Run the app.py

  python app.py

Usage

Development

Want to contribute? Great!

To fix a bug or enhance an existing module, follow these steps:

  • Fork the repo
  • Create a new branch
     git checkout -b new-feature
    
  • Make the appropriate changes in the file
  • Commit your changes
    git commit -am "New feature added"
    
  • Push to the branch
    git push origin new-feature
    
  • Create a pull request

    Bug/Feature Request

    If you find any bug or have some idea about a new feature that can be implemented, you can either open an issue here or you can directly mail us at [email protected].

    Please include the sample queries and their corresponding results.

    Tech Stack

    Project is built with:-

    Client:

    Server:

    Database:

    Authors

    Optimizations

  • Since the upto 500 images are supported the filesize can get very large. That's why we have used the zip functionality to reduce the file size.
  • It is scalable as many users can request for images at the same time.
  • Hello, I’m Shreyas! 👨🏼‍💻

    🔗 Links

    linkedin

    Feedback

    If you have any feedback, please reach out to us at [email protected]

    FAQ

    Do user have to wait until images get downloaded?

    Ans - No. User can simply submit the job and then close the browser and continue doing other tasks. Once the task starts user will get email about the process activities.

    How much images can be downloaded at single go?

    Ans - Upto 500 images can be downloaded at single time. If more required we can simple submit the query again.

    How will I know if my job suddenly stops in the background?

    Ans - If some error occurs at the backend the user will get email notification informing about the issue and also the link to again retry scheduling the job again.

    Documentation

    High level design documentation

    Low level design documentation

    Wireframe

    Architecture