001110010100101010100101001010100101101001010

1100101010100111011010100101010100101010101001

000101010101011111100101010101001010101001010100

001010100101101010111101010101101000110011010010

11001010101001010101011100101011100100101010000111010010101010100001010

1101001010010001110010110110010110000110000110010010101001

1001001010101001110010111001010100101000010101001010010

10010010101010101001001111010100110111010011010100010100100

10101010101010100101110100101001010010101010100111001010010010100

10001100101010101011001010100101011000100101001010

11100101010101010100110101011001011101100101010

000101001011100010100111001010110000110101100001100

1100111101101110011100001010101101100001100101

000110101011011101010000001010110001100101010010

110101110110101100011100000111000001010101010100

101010100001011100000011001101100001010101010

01010101010101010011010001011001010101011001001010

1101010110110101100111100000101001010101001110001100100100010101001010

0000110101010110010000101001010100101010100001100001010

11101010110010101011100101011110010110010010

0101111000010100001010101010101010000101000101010000101010

1101111000010101111000001010101010100011000101010

000010010110001111000000101001110000101010

10101001110101010000011100001110010101010100

110101101011000101101010100101010100101010101010

00001101010101100100001010010101001100001100001010

001110010100101010100101001010100101101001010

1100101010100111011010100101010100101010101001

000101010101011111100101010101001010101001010100

001010100101101010111101010101101000110011010010

11001010101001010101011100101011100100101010000111010010101010100001010

1101001010010001110010110110010110000110000110010010101001

1001001010101001110010111001010100101000010101001010010

10010010101010101001001111010100110111010011010100010100100

10101010101010100101110100101001010010101010100111001010010010100

10001100101010101011001010100101011000100101001010

11100101010101010100110101011001011101100101010

000101001011100010100111001010110000110101100001100

1100111101101110011100001010101101100001100101

000110101011011101010000001010110001100101010010

110101110110101100011100000111000001010101010100

101010100001011100000011001101100001010101010

01010101010101010011010001011001010101011001001010

1101010110110101100111100000101001010101001110001100100100010101001010

0000110101010110010000101001010100101010100001100001010

11101010110010101011100101011110010110010010

0101111000010100001010101010101010000101000101010000101010

1101111000010101111000001010101010100011000101010

000010010110001111000000101001110000101010

10101001110101010000011100001110010101010100

110101101011000101101010100101010100101010101010

00001101010101100100001010010101001100001100001010

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.

An image of the QuizForge Quiz Builder

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.

Return to Home