Although in the past I did quite a lot of small freelance jobs, I became too comfortable just doing my full-time job and nothing more, even though working on the same project for years does not give you that fulfillment small and interesting projects can give. After returning from our holiday in Greece, I still had a few days off work, so I thought I would try my luck on UpWork. I knew it was going to be difficult, especially as I have no ratings and didn’t work a minute on the site, but I got lucky…
Requirements
The task was to display a deck of 30 cards and when the user clicked one of them, display the card itself and a description near it. A “mix cards” button was also required, that would shuffle the cards. All these embedded in a WordPress page.
The solution
My approach to the problem was to create a WordPress plugin, which can be embedded in any past/post with the help of the shortcode I’ve defined. I decided to use ColorBox to display the selected card and its description, because I’ve already used it a few times previously and it gave a “modern touch” to the whole page. Not to mention that that it saved me 1-2 hours of work.
Probably the most challenging part for me was displaying the card deck. I’ve spent pretty much time figuring out how it would look better. In the end I’ve chosen the log base 10 function over the sine, as it increases more rapidly and looks better for 30 cards. If I had to display more cards, I would probably have chosen the sine.
Another interesting part of the job was the shuffle animation.
Deployment
I’ve simply had to provide the final product and a small installation guide and the client installed it herself. I was very happy that we managed to solve it this way without setting up dummy users or sharing passwords.
Overview
I’m glad I had the opportunity to work with Anna Roth on this project, as it let my creative part go wild, unlike my daily job. She also took into consideration some of my ideas, so it was a really pleasant job.
You might want to visit her site and play with the final product: AstroKarten.