The Google App Engine Boilerplate helps to get your project off the ground quickly over Google App Engine platform. It introduces new developers to App Engine or even *advanced developer* to copying best practices.
Boilerplate is used to describe sections of code that can be reused over and over in new contexts or applications which provides good default values, reducing the need to specify program details in every project. (wikipedia)
It is complete (the most required features for an application) and uses latest technologies supported on Google App Engine.
Try it online here.
-
If you don’t know what is Google App Engine, I recommend before to watch this video and read this website.
-
Download the last version of the SDK for Linux, Mac OS or Windows (Tested with SDK version 1.6.4).
-
Download the code of this Boilerplate (here)
-
Run locally (instructions).
-
Change to your ‘application’ name in app.yaml
-
Deploy it to your own app (instructions)
-
Login / Logout (with a bunch of security practices)
-
User Registration
-
Reset Password (developing)
-
Update User Profile (developing)
-
Language Detection (English, Italian and Spanish support, detecting the preferred user’s language)
-
Device identification (Automatically the amazing Bootstrap Template for Desktop and jQuery Mobile for Tablets and Smartphones)
-
Python 2.7
-
NDB 1.0 (A new datastore API for the Google App Engine Python runtime).
-
Jinja2 (A full featured template engine for Python).
-
webapp2 (A lightweight Python web framework compatible with Google App Engine).
-
webapp2_extras.sessions
-
webapp2_extras.routes
-
webapp2_extras.auth
-
-
Handlers with @user_required
-
Handlers with @login_required (for Google Authentication)
-
Code wrote following the Google Python Style Guide
-
jQuery 1.7.2 for desktop, jQuery 1.6.4 and jQuery Mobile 1.0.1 (this version is supported by jQuery Mobile)
-
Twitter Bootstrap Template for Desktop Version.
If you want add, fix or improve something, let us know with an issue or a Pull Request.
Feel free to commit improvements or new features. Feedback, comments and ideas are welcome.
Hope it works for you!! :)