A Heartwarming Wall, Full of Wishes

A Heartwarming Wall, Full of Wishes

#HarperDBHackathon

tl;dr - Vishwall is a website where you can gather wishes for your friends, made using ReactJS and HarperDB.

Link to Live Project : Click here

Link to GitHub Repository : Click here

What the app does

I came to know about the #HarperDBHackathon from a telegram group where I went to ask about updating a state in #react. I was learning react and also made my first API call a few days before being introduced to this hackathon, I thought that it is a nice way to get used to react and a database.

I try to add a feel-good factor in all my projects, I had this idea in mind, where friends could send birthday wishes, and all the wishes would get stored in a single place, a single link. Facebook does this, but truth to be told who uses Facebook nowadays?? I introspected this idea and then realized that I am doing this just to avoid video calls at 12am on a birthday 💤.

So what is this project after-all, it can be summed up in a few points

  • You enter the Instagram username of a person you want to wish (validation can be stressful so why not take it from someone who has done it already).

  • After submitting the username, you'll be redirected to a page where you enter your name and greetings, the link of that page will look something like this "/vishwall/username/write-wish", now this link can be shared with other mutual friends.

  • Now everyone will start sending in their wishes and voila, you will be able to see all the wishes on a link that will look like this "/vishwall/username/wishes".

And that is it, share the link which contains all the wishes with the Birthday person. They might cherish all the wishes and your effort of gathering them.


How the App Works

Let us start with the stack I used

  • React for basically everything
  • HarperDB obviously
  • Vercel for deploying the application ❤️

Problems faced?

Where do I even start! I've spent so much time on the HarperDB slack, YouTube, react discord groups that I kind of came to know when and where to get a solution or a hint.

The first problem that I faced was sending the data to harperDB using their react hook, everything felt fine, spent hours just to realize that I wasn't wrapping the values in quotes…

The second problem was with fetching data, It's been a while since I used SQL, I studied in my 4th semester and never touched it ever since, it took a while to optimize the queries. Other problems were related to react hooks, such as infinite calls because of not using useEffect() while sending data to the database, there was a time when there were 15000 items in my database because of infinite calls being made. funny times.

But is a bug even a bug if it doesn't make you feel existential? This phase started after I decided to deploy on GitHub pages, a new Saga of existential crisis started from here...

I have had a great history with GitHub pages, GitHub pages helped me fill the void in my life with free hosting and feedback loops. It made hosting so easy, Totally loved it, until… I decided to use it for react single-page-applications(SPA).

There were many issues after hosting, I thought they were because of my code, turns out, it was just that GitHub pages isn't that good with hosting react SPA's. After some debugging and googling, I decided to host the application on Vercel, my life change after that 🤩, confidence skyrocketed 🚀, it felt like a new beginning 🌿, Everything worked like charm 😊, it was like finally finding love 👫, Vercel saved me from a mental breakdown, a panic attack and so many things, the existential phases ended and I decided to make this application a unicorn startup… but

zIgRyBHA5.png

Realized I never made it responsive, which I did, and then sent the app to my friends for feedback, got some great feedback on UX, which I kind of resolved, there is still a lot to be done, but let's keep it for v2.0 😉.

I am happy that I wanted to complete it before my joining( which is tomorrow), it's my first job in Tech, and I did all of this in the time frame I allotted.

Some good takeaways from this project?

  • Learnt that if you are passionate about something, you can work on it day and night.

  • Ask for help and you shall receive it, people in Tech don't miss an opportunity to help fellow devs out, I don't think there is any ego involved, people are just about helping others move forward.

  • Take a break while resolving bugs, I have done this 'n' number of times in the last 1 year, where if I am not able to resolve a bug around 1 or 2 AM, I go to sleep, the thing is there for a problem 2 or 3 valid reasons you might be aware of, debugging late night makes you think way too much on a particular reason and you might totally ignore the other valid reasons of failure, but next morning, you start taking other reasons into account too. Which has happened multiple times with me.

  • During the journey of resolving bugs, you meet incredible people, who make you want to push yourself ahead.

Thanks for reading Deepak

#HarperDBHackathon