Inspiration

One of the challenges is to create a Hack to Share Photos on the Cloud. I took inspiration from Pinterest website to create an application where users can share silly images.

What it does

You can signup/signing and create and share image posts. You can also delete them. If you don't have an account or don't want to signup, you can still browse the gallery!

How we built it

I used the MERN stack, so backend was built with Express and Nodejs and frontend was built with Reactjs using Vite. I used MongoDB as the database while also using Firebase as the storage for the images. I used TailwindCSS and Flowbite React for styling so it's dynamic, responsive, and more accessible. I also made it mobile friendly. Lastly, I deployed with Render.

Challenges we ran into

It was challenging implementing Auth0 so I decided to do user authentication manually with bcrypt and jwt 🥲.

Accomplishments that we're proud of

I try to account for unexpected actions of the users such as creating a post but never clicked the Share/submit button and changing route to home, dashboard, logging out, or browse. This means that the image url would be created and stored in Firebase, but not utilized which is wasting storage space. To counter this, I implemented a blocker so user needs to confirm or cancel leaving the creation page where confirming will delete the image file from Firebase.

What we learned

This is my first time using Firebase! It was...not bad! I barely scratch the surface of what it could do so I definitely need to do more projects using Firebase.

What's next for Photo Sharing App

I want to include some features that I did not have time to implement such as editing the posts, a favoriting system to save posts that the user likes, and user profile. And of course, I would like to use Auth0 as it is probably more secure.

Credits

Share this project:

Updates