Google App Engine Starter Kit
Switch branches/tags
Clone or download
Latest commit 5a53ef7 Mar 6, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
GenericViews Remove unnecessary unicode May 27, 2016
apps Update __init__.py Oct 26, 2016
docs Whitespace. May 24, 2016
static Rebuild all.js Oct 18, 2016
templates Significantly improve i18n support. May 27, 2016
tests Improve testing and use vendoring. Apr 26, 2016
translations Significantly improve i18n support. May 27, 2016
util Fix CSRF bug. Dec 26, 2016
.editorconfig Grand old import. Mar 28, 2016
.gitignore Fix .gitingore files for javascript. Apr 19, 2016
.travis.yml Testing config for Travis. Apr 7, 2016
CHANGELOG.md Let's do a "release" like a real project. Jun 11, 2016
LICENSE Grand old import. Mar 28, 2016
README.md Add note about releases to readme Jun 11, 2016
app.py Add unit testing ability. Apr 7, 2016
app.yaml Upgrade UIKIT to 2.27.1 Oct 18, 2016
appengine_config.py Update appengine_config.py to fix Click bug Sep 10, 2016
babel.cfg Grand old import. Mar 28, 2016
build-assets.py Upgrade UIKIT to 2.27.1 Oct 18, 2016
datahelper.py PEP8 May 11, 2016
filters.py Add unit testing ability. Apr 7, 2016
i18n.py Significantly improve i18n support. May 27, 2016
index.yaml Fully implement membership Apr 14, 2016
main.py Add unit testing ability. Apr 7, 2016
requirements.txt Bump searchablemodel requirement to satisfy travis. Jun 11, 2016
run-tests.py Update run-tests.py Sep 10, 2016
sample-config.py Fix config. Jun 11, 2016
security.py Add config option for whether to use Talisman. May 30, 2016
testing-config.py Add config option for whether to use Talisman - testing config. May 30, 2016

README.md

Build Status

GAE Starter Kit

GAE Starter Kit is a prepared repository that jumpstarts your Google App Engine project. Built on Flask, right out of the gate, GAE Starter Kit gives you:

Security and user management

  • Authentication via Google users api, email+password, or social login (Facebook, GitHub, etc) via Authomatic.
  • Multi-tenancy built in.
  • CSRF Protection through SeaSurf.
  • Handy method decorators for admin, tenant, or login required pages.

CRUD, Generic Views, and Forms

  • Built with WTForms and WTForms-Appengine. Easily show forms, fully rendered, and connected to ndb models, with no repated code.
  • Automatic client-side form validation via Parsley.js.
  • Server-side form errors displayed in a friendly way.
  • Generic Views (inspired by Django's) that get you started writing basic views quickly.
  • Automatic Admin GUI generation.

Easier Email

  • Log outbound emails and how they were delivered. Especially useful in development.

Includes Useful Defaults

  • Integrated UIKit is a flexible and good-looking HTML5 framework with genuinely useful features.
  • Moment.js and Flask-moment provide easy and good-looking client-wide time/date representation, especially with UIKit's built-in time/date pickers.
  • Notifications fully integrated with flasher come out of the box.

Flexibility

  • Includes Assets built through webassets, but can easily be changed out.
  • Disable any parts you don't want, and most of the framework continues to work as expected.
  • Liberal licensing via Apache License

Using GAE Starter Kit

  1. Clone the repository.
  2. Copy sample-config.py to config.py and edit it as needed.
  3. Install dependencies in lib directory: pip install -t lib -r requirements.txt
  4. Run dev_appserver.py .
  5. Enjoy

For a sample app, check out the included (and very simple) apps.simplecms app, which is referenced in the installed_apps variable in sample-config.py.

Releases

If you'd like to use a specific release of GAEStarterKit, check it out specifically. For example, to checkout version 0.2, use:

git checkout tags/v0.2

Rebuilding Assets

GAE Starter Kit comes out of the factory, so to speak, with the static dir fully built out. However, if you find yourself needing to change the static assets, install webassets and any filters you need, and run build-assets.py

$ pip install webassets
$ pip install jsmin
$ pip install cssmin
$ python build-assets.py

Tutorial

Read the basic tutorial on developing with GAE Starter Kit.

License and Atribution

GAE Starter Kit is by Ken Kinder ken@kkinder.com. It is distributed under the Apache Public License v2. See LICENSE for details.

GAE Starter Kit includes code from the following Open Source projects:

Each of these components also likely include code from other Open Source projcts.