The following is a list of things that upon reflection I
would handle differently if the opportunity presented
Bucket permissions. I
manually set the settings in a .json file within the
codebase, which exposes bucket names and requires
rebuilding the app to change the type of user access on
the bucket. Instead we should have incorporated a
setting from the AWS bucket itself (if possible) that
the app would then query. Further, the team could now
consider individual user access and set permissions that
way, rather than on a bucket as a whole regardless of
Custom React Router “middleware”.
I initially wrote some middleware functional components
to handle React Router between class components. I did
this because some features only worked within functional
components, and for AWS reasonsI needed my bucket and
file components to be written as class components. I
later discovered that React Router already had a method
for implementing their methods in class components,
withRouter(). I would advise refactoring the code to
follow the library's methods.
Custom uploading methods.
I implemented a basic file uploading system using the
upload method. We had specific circumstances where we needed to
process video files for the streaming platform
differently, and in those cases I'd have liked to write
alternative uploading functions depending on the bucket
to handle those needs as well.
Pager with keyboard arrow buttons in addition to
custom UI buttons.
I added buttons to the interface where space was
available, but they aren't in an ideal position for
users who need to comfortably sift through files
quickly. Since learning how easy it is to attach
functions to key bindings, I would now add that feature