Project Name:
Fandom PokePartners
Software & Technologies Used:
-APIs
-CSS/SASS
-HTML
-JavaScript
-JavaScript Libraries
-Lumen/Laravel
-Procedural PHP
-Responsive Design
-VS Code
-phpMyAdmin
Client:
Self
Link:
Fandom PokePartnersDescription:
Fandom PokePartners, a website to connect your favourite characters in fictional media with Pokemon you think they might like!
Inspired by all of the various fanart across the internet, I wanted to make a hub where people can go and share their ideas about what Pokemon their favourite fictional characters might use. I wanted to try and break out of my comfort zone for this project and try some new things, especially to gain a deeper and richer understanding of how some things work when it comes to web development.
One of these things included an account system. I wanted to have some sort of check in place to prevent people from spamming upvotes and exploiting the system. At first I was considering using localstorage to save the characters and partners as variables and do the check from there.
However, at the time of considering that thought, an application for a job I was really excited for got denied. I'm thankful for the response at the very least, since I've heard that others got no response at all.
Inside this rejection though, it said that they want to move forward with "candidates whose experience is more aligned to the needs of our clients at this time", which is honestly fair. It was demoralizing, but I wasn't going to let that bring me down.
So I stopped and asked myself, "What do they mean by that?" It was a pretty vague statement, so I sat down, took a hard look at myself and thought "What is something I can do to give myself experience serving needs of clients."
That's when the idea of the account system struck me. I needed a way to prevent upvote exploitation and a way to show I can handle something on a grander scale and deliver needs to users and the account system sounded perfect.
I could've probably found a framework or a plugin or something to handle account system on myself. Or even just use Google sign in for that. However, I opted to build it from scratch. Reason why is because I wanted to understand more about accounts. How they're handled, all the pieces that are needed for account management, and most importantly; the security. If I don't understand how all of these work, how am I supposed to help clients when in the workforce? Of course, not everything will be the same when I do find a job. But this was meant to be just a taste, something to understand the basics and how and why of accounts.
As I finalized the account system, I realized that I had to learn about something I hadn't learned about before: Privacy Policies.
This thought occurred to me because of COPPA. I remembered how Youtubers talked about COPPA years ago and how and how that affects them, and many other websites to this day. Since I knew I was handling user data thanks to the account system, I wanted to make sure I was doing it safely and not breaking COPPA too.
After researching about COPPA, I learned that the best way to make the website COPPA compliant is by having a privacy policy and implementing some features to help protect kids. As I was researching about privacy policies, I realized that if any information is saved and stored, there needs to be a privacy policy. Which made me realize that that also includes contact forms too. I never learned about that in my college education so it was a shock to me.
I reached out and talked to one of my professors who helped me with privacy policies and helped inform me of what I needed. So I went back and not just implemented the privacy policy for Fandom PokePartners, but to every site that I published.
Working with privacy policies help me be more attentive to other websites too. You honestly wouldn't believe how many sites I've been on that I think wouldn't need privacy policies but do and how many sites should have privacy policies but don't.
Learning about privacy policies helped me understand just how sensitive data is. I always knew it was, don't get me wrong. But something as minute as saving something to localstorage needs to be declared, as it helps users feel secure and informed about how their data is being used and handled. I'll never mishandle it, but to someone just visiting the website, it helps to have that in place to help ease any worries they may have.
Thumbnail
An example of a character selection; where the character image is displayed with Pokemon beside them (with backgrounds matching their primary types)
An example of a submission form for character. This gets sent to my database for review, and if approved, the character will be implemented (and if applicable, credit is given to your account)
How the profile page looks. While basic, this is meant to be a compliment to the user experience as opposed to a main feature
Thumbnail
Thumbnail
Thumbnail