/Image-Hosting

🏞 An image-hosting API. A user is able to call this API to upload an image to S3 and then call the API again to download the image.

Primary LanguageJava

Image-Hosting

Overview
Built a simple image-hosting API. You could imagine this as being one of the APIs behind a site like Instagram or Imgur. A user is able to call this API to store an image and then call the API again to retrieve the image. The images will be stored in S3.

Description
Created a Spring Boot project. In the spring boot project there are 3 endpoints as follows:

Upload Image:

This endpoint will accept an uploaded image and transfer it over to S3. It will generate a random filename using UUID for the image and return that in the response.

Method: POST URL: /images Body: An image upload Response: A JSON response like { "image": "abc-123" } where image holds the filename

Fetch Image:

This endpoint will download a previously uploaded image from S3 based on one of those randomly generated filenames.

Method: GET URL: /images/abc-123 Response: Assuming an image was previously uploaded and given a randomly generated filename of abc-123, the response will contain that image.

List Images:

This endpoint will list the generated filenames of recently uploaded images. For now, either return all image names up to a maximum of 50.

Method: GET URL: /images Response: A JSON response with the names of files that exist in the S3 bucket.