Posted on 20th April, 2022
This app has a bit of history behind it. It was I think 3 years back when I first had an exposure to Material UI. I created this hobby app which used API from this website called potterapi or something, I can't remember exactly. It had information about characters, spells and houses. It was made originally in Vue. But, then the API was shut down so wasn't possible to get the data so had to bring down this repo.
Fast forward 3 years now, I stumbled upon this API hosted on Heroku https://wizard-world-api.herokuapp.com. It worked and wasn't equipped with any sort of authentication. I was also curious to use newly learned redux toolkit and blueprint JS. It was a perfect source to be used to populate the app with some data and that is how it came into existence.
This API has data for wizards, though character data is not complete. But there is almost complete data available for potions, spells and houses which was suffice to motivate me to use this app. Though at the time of writing this I probably have a better API for Harry Potter data here - https://hp-api.herokuapp.com/. It did work at the time of writing this post, don't know how long would it work. Anyway, the app uses Redux toolkit based approach for data management which eliminates the need for creating separate constants and reducers following conventional redux based approach in React. Here you can club constants and reducers in a single file which you would often call 'Slice'. You would have as a service which would make API calls. Finally, you combine all the reducers into the main app.
For UI, it uses Blueprint JS. It has almost 10K stars on Github and in general, a nice UI kit to work with. I did face issues with some dynamic components like Modal/Dialogue for instance. Documentation is not all that great unfortunately in my opinion, but still a good UI kit to work with.
Made With
Have something to share ? Please post it in the comments section.
You must be logged in through your Google account to post comments
No comments available for this project