I've been developing for Google App Engine (GAE) ever since it first came out. Along the way, I've built up a list of open source software to help accomplish tasks I found myself repeating. Each of these are hosted on GitHub, which provides free hosting for any open source project.

GAE Blog

The Blog project provides a fully functional blog, complete with support for multiple authors per blog, multiple blogs on the same site, commenting with moderation and spam blocking, image uploading, RSS, pagination, and more. It can easily be dropped into an existing project or serve as a stand alone. It will also automatically use the HTML project below if it is available.

GAE Scaffold

The Scaffold project provides skeleton code for setting up new sites quickly. It handles writing a lot of boilerplate, creating a jumping off point for feature-rich, high-performance sites. It is thus similar to small-scale web development frameworks, though unlike many it remains front-end agnostic. And it includes the Deploy and HTML projects below automatically. From the start, it supports sessions, templates, minification, caching, testing, and human readable error messaging. With just a little work, it can be configured to do anything you want on the GAE platform: run new cron tasks, serve a dynamically generated sitemap, access the datastore, and more.

GAE Deploy

The Deploy project handles cache-busting for a site's static resources. Specifically, it will create new minified versions of JavaScript and CSS files, and then reference those files in production. It smartly serves the full non-minified version in development, and cache-busts when a change is made to a file. Images are supported by simply appending the timestamp of the most recent deployment. This project could easily be extended to include processors for things like LESS or SASS.

GAE HTML

The HTML project handles minifying and caching rendered HTML. This makes it easy to do things like immediately displaying a cached version of a page without having to go through that page's normal controller processing. Fewer processor cycles combined with smaller outgoing bandwidth means the GAE free quotas last even longer.

I hope that these projects will help others see how easy and fun it is to get web applications up and running on GAE. Feedback, bug reports, feature requests, and patches are all welcome.

Comments

says

Sounds like you've been keeping busy with GAE! These plugins look really cool.

I'm going to an Intelligent.ly course on rapid prototyping with GAE next week, so maybe I'll be asking you for commit permissions at some point :) Keep the updates coming!