CloudCourse: An Enterprise Application in the Cloud

Wednesday, May 19, 2010

At Google we have experts on everything from Python to penguins. However, connecting our expert teachers to eager students around the globe can be a complicated business. To that end, we are excited to release our new internal learning platform, CloudCourse under an open source license. Built entirely on App Engine, CloudCourse allows anyone to create and track learning activities. CloudCourse also offers calendaring, waitlist management and approval features.

CloudCourse is fully integrated with Google Calendar and can be further customized for your organization with the following service provider interfaces (replaceable components):
  • Sync service - to sync CloudCourse data with your internal systems
  • Room info service - to schedule classes in your locations
  • User info service - to look up user profile (employee title, picture, etc)
CloudCourse has been developed in Python, using the Django web application framework and the Closure Javascript library. Deploying CloudCourse on App Engine is a breeze, and should take less than 5 minutes.

We developed CloudCourse to:

• provide a course scheduling system fully integrated with Google services
• demonstrate what it takes to built an application using App Engine

By releasing CloudCourse as open source we hope to help developers who want to port or build enterprise applications on App Engine. Digging into the source code, you will find many examples of how we addressed challenges like long running processes, locking, synchronizing with external systems, high performance transactional workflows, and more.
All the techniques that we used can easily be applied to other applications.

CloudCourse is available for download now. If you would like to discuss the project or if you have any questions, please join the CloudCourse mailing list. Happy hacking!