Honestly there were many lessons learned. I caught as many as I could remember here on Github: https://github.com/Protosac/pitchforks/wiki
As an aspiring web developer, ever see a really cool website and think “OMG WHAT A GREAT IDEA!”? Somewhere in there you know it took a lot of work, but you also tend to believe that what makes it so great is how simple it all is. Maybe that developer whipped it together within a few days …right?
Pitchforks has taught me that all good ideas start out crappy. The raw idea itself may be exciting and fairly simple to implement …but the real work comes in shining it up, making it user friendly, having it respond to all kinds of visitors. There’s a lot of meticulous security details to tweak here and there, database queries to tighten up to stop duplication and just getting a search form to work properly.
For example, a simple login form. A dozen lines of HTML, a database and some authentication, right? Well …yeah. But passwords have to be encrypted. Users names have to be somewhat unique. Even users from a third-party API need to be sure they’re not registered 7 times because your database didn’t recognize them the 7th time.
So while Pitchforks is done for the class project, it’s far from being publicly presentable. It’s not just insecure, but it’s also not a very smart app. Persistent login is missing, tracking protest activity is lacking, username and password security is non-existent.
Still …it’s a decent app with lots of potential and I’m as proud as a 5 week student can be. The greatest take away for this project has been learning the process of creating a great app. It’s all about tallying up those little tweaks, not the ideas and features. Features build over-time. It’s easy to sort of imagine that, when we see a great app, the developer had a long list of awesome ideas right from the start and just began working their way down. More likely, it started off with just a couple features and as the app was developed, new problems cropped up and with them, new solutions. I can’t say how many times I’ve changed direction on this project in just 7 days.