DEV Community

Turja Narayan Chaudhuri
Turja Narayan Chaudhuri

Posted on

An AWSome open source project to create a S3 explorer for AWS

Notification 1 : All code related to this blog post can be found at :

https://github.com/awslabs/aws-js-s3-explorer/tree/v2-alpha

How did I discover this gem?

Recently , while working on a personal project , I had to come up with some sort of a S3 explorer UI . It was a small part of a bigger thing I was doing , and I wanted to let my users use my web console to navigate S3 buckets they have access to and perform read operations . While there are a number of standalone third party S3 explorers available on the web , I wanted something that would seamlessly integrate with my webpage , and preferably written in JS.

The other option was me having to write a lot of code to come up with a solution that is not the selling point/ core intention of my project anyway . In these cases , I always try to find open source solutions readily available on the market that can be integrated into my app . Saves the trouble of developing , and testing a isolated section of the app.

While searching I found this app at https://github.com/awslabs/aws-js-s3-explorer

So , what can we do with it ?

The readme section of the git repo is wonderfully written by the author and will get you started in a few minutes .

"AWS JavaScript S3 Explorer (v2 alpha) is a JavaScript application that uses AWS's JavaScript SDK and S3 APIs to make the contents of an S3 bucket easy to browse via a web browser. We've created this to enable easier sharing and management of objects and data in Amazon S3." - From the author's readme page

However , there is one thing I would like to point out . There are 2 separate branches in the git repo for 2 different projects . Quite similar , by the alpha-v2 branch is the one I am talking about as that suited my use-case better .

In the alpha-v2 version , support for private buckets and upload/delete of s3 objects are supported.

Ok , so where to go from here?

The project simply consists of a html page , a js file and a css file . This can be easily integrated into any existing projects and customised as per the needs of the developer . For example , in my case I don't even want the user to see the upload/delete buttons . So , I will simply make the necessary changes .

It is powered by an Open Source license so feel free to code away.

Do let me know if you find a better alternative or tell me how exactly you customized the app for your use-cases.

Discussion (0)