Behind the Scenes at SitePoint: Code Week
You might not realize it, but quietly hidden in our secret sitepoint.com lair, a team of developers are furiously building the next generation of Marketplace and Contests. Our mission is fairly simple: take the current system and build it into a solidly architected platform which we can grow rapidly into something truly beautiful. Initially we planned to also build a SitePoint branded interplanetary rocket, but we grudgingly conceded that it was out of scope.
As an experiment in rapid timeline reduction (the teeth gnashing and pulling of hair from the forums hasn’t gone unnoticed), we decided to ship the team off to a beach house in Rye for 10 days of unchecked productivity. Theoretically. Here in lies the tale of the result.
The team of five is made up of myself (Lachlan Donald), Paul Annesley, Andrew Krespanis, Lucas Chan and James Edwards (our accessible front-end rockstar). All up, its a pretty awesome line-up, and I have high hopes for what we can do, especially if we ever get to build that interplanetary rocket.
- Source Managed (via SVN and TRAC)
- Decoupled from vBulletin
- PHP5 based
Most of this work was done before Code Week, along with the majority of the domain object model, including mappers and finders and other nice abstractions that our internal framework offers for data persistence. The majority of the remaining work lay in implementing user-facing features that the current system offers, along with some nice new features. Our core objectives are to improve the current code platform with roughly the same feature set, but some things just haven’t made sense to re-implement verbatim.
As a bit of a sneak preview, some of the features that will be included in the upcoming release:
- Search is implemented using the Lucene implementation in the Zend Framework. It provides a number of rich features such as fielded search (allowing you to search by author, by title, etc) and advanced Google-like search operators. I am really excited about this advance and I hope that we will be able to apply similar techniques in time to the rest of sitepoint.com).
- Creating new listings has been re-structured and simplified. We let Brothercake loose on the markup and structure, and the outcome is pretty spectacular. We have WYSIWYG editing for descriptions, simplified date selection and improved validation.
- Marketplace threads are now replaced with an HTML listing, which doesn’t depend on vBulletin. This allows for attachments, comments and much better integration with the rest of the Marketplace system.
All up, Code Week was a massive success, resulting in an incredible amount of output, taking the codebase from 60,000 lines of application code to 120,000 lines (excluding libraries, see graph below). We managed to consume a fairly large amount of coffee — I believe it was close to 1.8 kilograms between 5 people. That translates to about 666 lines of code per cup, which in itself is disturbing.
Make sure to check the Development Forum for further announcements about the new releases, and look out for some blog posts describing the PHP side of our implementation in a little more detail over the next couple of weeks.