Hello, welcome back to my blog.

I want to share anything related to my participation in July Hashnode Hackathon.

This is my first time joining a hackathon on a worldwide scale. Usually, I barely enter it, even on my country (Indonesia) scale. I hope my web app created for this hackathon will be beneficial for everyone.

Why Easier Qurban Experience (EQExp for short)?

This month (July 2022), which coincides with the Dhul Hijjah (one name of the Hijri calendar), has a great celebration day in my religion (Islam) named Eid Adha. Usually, every Muslim/Moslem (a person who believes Islam is the right religion) in the world slaughters cows/sheep/goats/camels and then shares its meats.

I am interested in qurban committees in Jogokariyan Mosque Yogyakarta Indonesia. Their Twitter account said that all qurban process from slaughtering to meat distribution is being monitored by the web application. It's a must to get objective qurban progress information quickly as possible, so the citizens can get qurban meats quickly and enjoy the Eid Adha party together with their families.

I want to improve the existing web application from that mosque. I want to add features like the qurban registration form, watching the qurban process via google meet, paperless meat coupon, and generating a report file. And also I want to make this web app to be open-source, so the qurban committee in other mosques can use EQExp too.

Tech stacks used in EQExp

After I register the new database in PlanetScale, I'm confused should I have to set up the backend and frontend web app separately or not. Luckily, PlanetScale has free integration with Vercel, maybe I should use nextJS instead. Moreover, nextJS has built-in support for both page and API routes. I am using TypeScript instead of JavaScript because I want to make my web app have cleaner code and be easy to scale in future updates.

I use several libraries to make EQExp work. There are the libraries I used and their purposes

New things learned when developing EQExp

I have been professionally involved in web development since 2016 mostly as a front-end developer. In this application, I have to do a backend developer scope like connecting with the database, managing table structure, etc. I have to design EQExp UI, too.

Previously I have experience with sequelize ORM to several backend applications. Because this web app use TypeScript, I want to practice Prisma ORM which has better TypeScript support instead of sequelize. I am also learning tailwindcss from the start because mostly all of my web apps still use bootstrap.

Initially, I use next-auth to authenticate users with a google account. Unfortunately, I am still not logged in after already login in with a google account. That problem is solved after successfully migrating from next-auth into clerk with some changes.

EQExp web application demos

You can view the EQExp app here. Unfortunately, that app is ongoing. I hope I can finish it early and I can showcase demos in the next article. You can also view my progress develop the EQExp app here.

EQExp future developments

This web app is far from perfect and still needs improvements. Those improvements which can be developed next time are:

Thanks for reading about my experience in the Hashnode hackathon. I hope the EQExp web app will be beneficial for qurban committees and also citizens for tracking the qurban process.