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
- Photo by Diana ✨ from Pexels: https://www.pexels.com/photo/playful-cat-lying-on-a-carpet-1276553/
- Photo by Alex Dolle from Pexels: https://www.pexels.com/photo/brown-and-white-short-coated-dog-sitting-and-smiling-2463238/
- Photo by Hom Nay Chup Gi from Pexels: https://www.pexels.com/photo/a-dog-is-walking-on-a-leash-with-a-person-28305670/
- Photo by Luis Quintero from Pexels: https://www.pexels.com/photo/man-in-white-and-blue-stripe-polo-shirt-sitting-on-chair-1640784/
- Photo by Barb Landro from Pexels: https://www.pexels.com/photo/hotcakes-28260045/
- Photo by Wojciech Kumpicki: https://www.pexels.com/photo/orange-tabby-cat-near-window-2071873/
- Photo by Александар Цветановић from Pexels: https://www.pexels.com/photo/selective-photo-of-brown-pet-paw-1440406/
- Photo by Anna Shvets from Pexels: https://www.pexels.com/photo/scottish-fold-cat-with-pink-shower-cap-4587959/
- Photo by Rakicevic Nenad from Pexels: https://www.pexels.com/photo/man-holding-ice-cream-cone-under-cloud-1262302/
- Photo by Cats Coming from Pexels: https://www.pexels.com/photo/slice-of-loaf-bread-with-dog-face-920220/
- Photo by Pixabay from Pexels: https://www.pexels.com/photo/yellow-duckies-in-line-on-a-concrete-floor-106144/
- Photo by Pixabay from Pexels: https://www.pexels.com/photo/squirrel-on-grass-458976/
Built With
- express.js
- firebase
- flowbite
- javascript
- mongodb
- mongoose
- node.js
- postman
- react
- render
- tailwindcss
Log in or sign up for Devpost to join the conversation.