Introducing HasuraChamp: Grow your knowledge of Hasura with fun quizzes
Easily build your knowledge of Hasura with HasuraCamp
Table of contents
Introduction 🤩
Hey folks 👋🏻,
I have been for quite some time trying to make a valid submission to one of Hashnode's hackathons but always failed due to my day job as a software engineer. Finally, I have a finished product to show to the Hashnode community.
Through this hackathon, I came across a powerful Graphql engine which does a solid job in making it dead simple to use Graphql
Important links [Check it out]
Tech Stack ⚙️
This project includes the following technologies
- NextJS
- Tailwind CSS
- Hasura + GraphQL
- NextAuth.js for authentication
Motivation
When I learned about Hasura and started reading about it I found that it has the most easy-to-read documentation but was also filled with too much information. I believe that Hasura as a platform will grow in the coming, and hence I decided to make a platform that helps you test your knowledge of Hasura.
Application Preview
Start a quiz
Answer the questions
Submit and see results
Check out your profile for history and your ranking
Linting & Code Quality 🧑🏻💻
- ESLint
- Typescript
- Prettier
Architechture
Here is a brief overview of the architecture. I will do a detailed post on each Hasura feature I used and how.
I decided to keep the UI pleasant to use and minimal so that people are able to look into the information rather than getting distracted by UI and animations.
- Custom rest API in Hasura for user registration and login
- Hasura Actions for calculating scores
- RBAC system of Hasura for security and authorization
- JWT based authorization which is secure and stateless
How Hasura Helped
- Having no knowledge of Graphql, Hasura helped and guided me towards building my solution
- Helped me build an entire application without a backend
- hasura rest API help me not to use Graphql in frontend as well while leveraging all the benefits of Graphql
My reservations from Hasura
- UI could have been nicer. The Hasura platform UI is quite simple but has UX issues.
Conclusion
I would love to carry forward this project as I believe this is the bare minimum and there is a lot of scope for improvement like -
- gamification of quizzes with hints
- sharing scores with friends
- confetti animation on quiz submission ...and many more.
It would be worth it if the team at Hasura wish to integrate this platform as a fun learning exercise for users along with the documentation and guided tutorials