When I first decided to start coding back in January, my initial aim was to have a databound webapp out by June this year. Given that most consumer facing applications follow the CRUD design template, I felt the databound aspect of the application was integral to my learning. My previous apps to date consisted mostly of utilizing API calls to present data so I needed to up my game a notch. Enter the Django Well, Django’s admin system is so slick and easy to use that I feel a little cheesy saying this but I present to you my very first databound webapp. Made lovingly with Python/Django and hosted not so lovingly on EC2 (I had a bitch of a time setting it up) *drum roll*
The Singapore General Elections are round the corner so I made a little app that aggregates the schedules of each political party. Unfortunately, I’m running a little thin on data due to the lack of information available on their websites. They are also not responding to my emails (apart from The Reform Party). So version 2 is going to include a ‘news’ section which I will be scraping from the websites of each party. The elections will probably be over by the time I am done but whatever. Anyway, the concept of the website is not that important. What’s important is that I went from asking stupid questions like this and this to building a fully functional website by myself. I even re-skinned it! Something was a weird though. I was expecting to feel more pride and satisfaction given that I’ve achieved my goal with 2 months to space. While I am chuffed with my efforts, the overriding emotion that is one of: how can I make the app even cooler. I’ve caught the bug, building stuff is hella fun.
- It doesn’t take 6 months to design a simple webapp. You can probably do it within a month easily if you work at it everyday.
- Hosting your site is a bitch. Learning about the different layers involved in making an application is also bitch. It’s quite daunting initially but get over the early hurdles and you’ll have a much better picture of what actually happens when someone clicks on the ‘next’ button or refreshes the page.
- I’m starting to understand why some techies hold non-techies in contempt. I showed the early versions of the app to some friends and they were *not impressed*. This was probably because the early versions of the site looked like shit. It’s hard to explain how satisfying it was when I figured out how to mod 30 lines of code to generate a HTML calendar that suited my needs. It’s a very good reminder to myself that users don’t care about the underlying tech. For a consumer app, the tech is just a tool to execute the idea and if they don’t get your app, you lose.
- You will pick up SQL/HTML/CSS along the way out of necessity. So when you say “I wanna learn to code!”, what you’re really doing is “I wanna learn to code and learn all the other stuff that makes my code come alive on the internet!”