We store all the image on http://cloudinary.com/, but you can also use any other storage like Firebase Cloud Storage or AWS S3. We are using Cloudinary because it optimizes the pictures and gives you thumbnail size you needed in fly so no need to write a single line of code to generate the different size of same thumbnail images.
You need to Create a account, if you don't have or Login to your account if already exists. You need to update Cloud Name and upload Preset .
Once you Login to Cloudinary navigate to Dashboard page and you can see Cloud name
For upload Preset you need to go into Settings > upload page you can see this section on bottom of that page
Click on Enable unsigned uploading and then you can see Preset Name you can copy and paste to config file . Now all the images you are uploading will go through Cloudinary