About This Project
What inspired this Web Application
This project was inspired by a Game of Thrones fan. I (the developer) am not the Game of Thrones fan, I merely took the information I could find and put it in one place. The individual who inspired this application also inspired my programming journey, I'm not entirely sure I would be where I am today if it weren't for her.
She also goes by the online alias of 'Khaleesi' which itself infers how much of a game of thrones fan she is. She was also the product manager (we joke). She was there throughout the entire development process critiquing the UI mostly, asking for different features to be included. Many of which wouldn't exist without her asking for them.
The loading state in between navigation, the widths, fonts, and how the quote generator works were all greatly influenced by her seggustions throughout. In many ways she made this project more difficult, but in the end forced me to create a better app/UI overall.
The GoT API
The GoT API is the open source GraphQL API that this application was built to test.
Along side the UI for this site is something far more impressive in some ways. The UI was the most time consuming part of this project, but the backend taught me so much more, and ended up being the most fun part of this entire project. The API has been made public and open source, so anyone can copy it and fork it to their liking if they so desire. This also means that anyone can make requests from my API. The API documentation can be found at the '/api' route for this sites url, there is also a link to it in the top middle of the screen.
Despite using MongoDB for this project and regretting it (I likely should have used Postgres), GraphQL was the biggest saving grace. Since document databases don't posses joins, GraphQL ends up mitigating most of the shortcomings of document databases by the use of GraphQL Schemas that relate data to one another.
Theoretically this can be more flexible than a relational database since you can make relationships between any data that you want at any point in time. Though using a relational database alongside GraphQL seems even more powerful.
The Community
There is a feedback form for a reason. While this application persists, I plan on taking feedback to correct/improve the data within this API, add data, and grow the dataset overall.
There are likely no better people to help improve the API then those who know the Game of Thrones universe the best. I will be sharing this app with discord servers, and perhaps other communities related to Game of Thrones in hope of recieving quality feedback and finding people who would find a site this entertaining. The UI and the Interactivty of the app could equally improve with the feedback of the Game of Thrones community, if not more. Perhaps there are better ways of displaying data, or more impressive uses for the data that I haven't thought of yet.
Moving Forward
Currently this project is made more as a passion project for fun, with no serious goals, or expectations in mind.
Going forward I plan on fixing any bugs as they arise, and making small optimizations, both on the server and client. Anything that I haven't added I may add in the future. If the userbase is large enough, there is a chance to possibly monetize, or structure the site by implementing authorization, authorization tokens, and bearer tokens, that limit the API, and the UI from unlogged in users. It would be an ambitious project itself, but would likely be quite fun aswell.
The Developer Himself
My name is Elias De Windt, you can find my github, linkedin or personal blog with any of the following links. This information could change in the future. You can email me directly through the email on my blog, or you can send feedback directly through this website.