I fully enjoy learning new trickery on optimizing, simplifying and improving my code. Therefore, I read a lot on the subject and always try to bookmark the source so that I can come back to it if I forget something. However, this creates a problem - my bookmark list is huge and unmaintainable. I can assume that you, my fellow coder, you suffer from the same disease.
I had a problem and, being the developer that I am, I had to solve it. It was a wonderful Saturday morning when I rolled up my sleeves, fired up Sublime Text 2 and started pondering.
While working on the idea I came across the following questions:
0. Finding a name and buying the domain
1. Which server-side framework should I use
So I’m a PHP developer and I have experience with CodeIgniter, so this was the obvious choice. However, for quite some time I wanted to sit on my bottom and learn a new language like Python and/or Ruby. Python was first on my list, so I opened up the browser and asked Google about ‘python django’. After couple of minutes, I decided that it will take me at least a day to get a hang of it and I really wanted to finish the whole project in a weekend. Django was a no-go. Next I tried googling for ‘ruby on rails’. In my opinion, RoR has better documentation and learning it will go faster, but it was still going to require from me some extra effort. It was then that I decided to be boring and to go with what I know, CodeIgniter, and kick-start my project immediately. I couldn’t wait anymore.
2. Users sign-up - Twitter, Facebook or own sign-up
The question here was if I have to go for my own tailored sign-up process or pick Facebook or Twitter connects. Again, since the number one most important thing for me was getting it done, I decided to ditch the own sign-up option because it was going to take more time than the other options. Twitter was the obvious choice since that’s the place where people follow their interests rather than sending each other cat videos and photos of drunk people. I followed this useful tutorial on integrating Twitter OAuth API with PHP and soon enough I had my sign-up ready and kicking.
3. One-page app vs. page refresh
Let’s not forget I’m a huge JS fan, so I was kind of hurting for the one-page app option. However, once again I remembered I’m trying to get to my MVP as soon as possible, so I decided to stick to the old and simple page refresh technique.
I didn’t have a lot of questions here. I knew I was after the dead-simple list design, something like what Hacker News has, but a tiny bit more marvelous. I used parts of Twitter Bootstrap here and there, and I’m quite fond of what the design turned out to be (having in mind I’m not a pro designer).
I’ve seen quite some social plugins, but I decided to stick to AddThis. It’s a dead-easy way of integrating social sharing on your page/website. And I believe a social sharing plugin was an important addition to my share-what-you-have-learned site because “sharing is caring”.
I was experimenting with DotCloud recently and I’m just loving how simple hosting and deploying can be with their PaaS. I configured 2 stacks for my project - PHP and MySQL, which is for free (you get 2 stacks for free) and I was ready to push my code. All it takes me to deploy is typing ‘dotcloud push tiljs’ in my terminal and voila - it’s online. It takes literally less than 5 minutes to get your product up and running.
If you enjoyed reading it, you might want to follow me on Twitter or add me to your circles on Google+.