QuizForge: A Primordial Idea Brought to Life
Online quizzes had been a passion of mine since I first discovered the internet.
As my programming skillset diversified, and my confidence in my skillset intensified, I knew that eventually I would make an online quiz application.
The idea was simple: Create an original quiz with value based answers that allow for the implementation of highly creative results.
With one finished full stack application under my belt, I was utterly eager to try out some new technologies in the journey to inventing QuizForge.
The Development of QuizForge refined two of my favorite technologies: React, and PostgreSQL.
React never loses its raw utility to me. The manipulation of state has been the greatest asset to my repetoire of coding material.
QuizForge started as, and remains to this day, a Create-React-App. Further down the road I would discover the utility of Next.JS, which I would use as a framework to build this very portolio website.
While I believe QuizForge may be optimal and cleaner as a Next.JS application, the prospect of the conversion to such remains an ordeal of the future for now.
Other tools for state management, such as Redux, may also be implemented at a further time.
Experimenting with SQL and the API for database querying proved to be challlenging, yet highly fulfilling.
I decided not to bask in the lighthearted, nostalgic comfort of MongoDB as I did for BiblioTech. I would venture into dangerous territory, an actual SQL database.
In my freeCodeCamp education, I was introduced to friendly faces such as PostgreSQL. In an effort to expand my knowledge once more, I decided I would take a deep dive into the utility of a SQL database.
I found the insertion of data, creation of tables, and querying process to be intuitive and satisfying in a methodical manner. This provided the perfect structure for storing quiz data.
Furthermore, I decided not to implement user authentication into QuizForge, and rather allowed for the simple engraving of a 'creator name' into quizzes.
I believe it would be interesting to experiment with user authentication and PostgreSQL one day. Perhaps QuizForge could see such a renovation, or perhaps it may grace an entirely new project...
Like my previous project, QuizForge grew exponentially intricate. The challenge of designing and storing such multifaceted information was the great game of the application's creation.
Building the server's API was no joke either. It would turn out that there could be many different ways that one user quiz could go...
Initially, there was one method of creation for a user quiz. It involved multiple choice answers with assigned values.
Each possible 'result' would be associated with a mode value. Multiple values could be assigned to answers, making for equivocal questions, and quizzes that were amusing and unpredictable.
With QuizForge shaping up to be the ultimate quiz app, I would eventually think 'Well, what if someone wants to make an academic quiz?'. I made short work of this inspiration by making it a reality.
No longer would there be just one type of quiz. Now users could make arguably any kind of quiz that they could think of.
It would have been possible to make the academic quizzes possible with the original algorithm, but I made it simple, out of the generosity of my tech-obsessed soul.
QuizForge provides a User Friendly Quiz Creation Experience.
Rendering the quiz itself was thought to be ostensibly smooth, but provided the toughest wall in the challenge so far.
It required erudite manipulation of the local database and the API to get the quiz to render correctly.
Making use of dynamic URLs along with the React router, I was able to complete the job. Finally, every quiz rendered perfectly.
The ordeal of QuizForge provided me with the greatest portion of tehnological acumen to date. I would design my portfolio using much of what I learned from the creation of the application.