A cookiecutter template for Google App Engine Python project.
- webapp2 Lightweight Python web framework compatible with GAE.
- Jinja2 Modern and designer-friendly templating language for Python.
- NDB App Engine Datastore API.
- WTForms A flexible forms validation and rendering library for Python.
- unittest The Python unit testing framework.
- webtest WebTest helps you test your WSGI-based web applications.
- NoseGAE Nose plugin for Google App Engine testing.
- Fabric Suite of operations for executing local or remote shell commands.
- SimpleAuth Simple Authentication supporting OAuth and OpenID (Google, Facebook, ...)
- Bower A package manager for the web.
- Gulp A streaming build tool built on Node.js.
- HTML5Boilerplate A professional front-end template.
- Modernizr A JavaScript library that detects HTML5 and CSS3 features in the user's browser.
- Sass A scripting language that interpreted into CSS.
- LiveReload A happy land where browsers don't need a Refresh button.
- jQuery A fast, small, and feature-rich JavaScript library.
- Twitter Bootstrap Sleek, intuitive, and powerful front-end framework. (Optional)
- Download and install Google App Engine SDK.
- Create a unique App ID in Google Developers Console and enable needed services and APIs.
- Install Fabric
$ pip install Fabric
Install latest cookiecutter and ruamel.yaml. (We need '_copy_without_render' function.)
$ pip install --upgrade git+https://github.com/audreyr/cookiecutter.git
$ pip install ruamel.yaml
Run cookiecutter to create your project.
$ cookiecutter gh:flyakite/gae-starter
Create virtual environment in project folder and install Python and Javascript packages.
$ cd <your_project>
$ virtualenv --python=python2.7 venv
$ . venv/bin/activate
$ pip install -r requirements.txt
$ npm install
$ bower install
Run Gulp tasks and start web server using Fabric command.
$ gulp
$ fab start
$ fab test
Run unittest and deploy to server.
$ fab deploy
Please follow the instruction to apply and fill the secrets in config.py
- Register app in https://console.developers.google.com
- Add https://<your_website>/auth/googleplus/callback to Redirect URIs
- Enable Google Plus API https://console.developers.google.com/
- Register app in https://developers.facebook.com/apps
- Add https://<your_website>/auth/facebook/callback to Redirect URLs
- Register app in https://www.linkedin.com/secure/developer
- Add http://<your_website>/auth/linkedin2/callback to Redriect URLs
- Key/secret for both LinkedIn OAuth 1.0a and OAuth 2.0
- Microsoft Live
- Register app in http://go.microsoft.com/fwlink/?LinkID=144070
- Add https://<your_website>/auth/windows_live/callback to Redirect URLs
- Register app in https://dev.twitter.com/apps
- Add https://<your_website>/auth/twitter/callback to Redirect URLs
- Foursquare
- Register app in https://foursquare.com/developers/apps
- Add https://<your_website>/auth/foursquare/callback to Redirect URLs
More info please refer to SimpleAuth