gae-py3-boilerplate icon indicating copy to clipboard operation
gae-py3-boilerplate copied to clipboard

A web application starter template (boilerplate) for Google App Engine Python 3 runtime.

GAE Py3 Boilerplate

A web application starter for Google App Engine Python 3 runtime.

If you like this project, please star it! ;)

Features

  • Different types of authentication system:
    • Email-only auth (password-less, login is via emailed magic link)
    • Email/password authentication
  • Translations:
    • Built-in simple translation system
    • Each language has its own templates folder
  • Emailing system: via SendGrid
  • Various access levels: public, basic user, admin. Other levels can be easily added using decorators.
  • CSRF protection
  • Background tasks
  • Cron jobs
  • Datastore: NoSQL database with a very generous free tier and great scalability.
  • Tests

Quickstart

  1. Run the web app using run.py (instructions).
  2. Initialize the web app via http://localhost:8080/init. You can enter fake SendGrid key in the beginning (instructions).
  3. Login with your email and find the magic login link in the Terminal (in the printed email message). Click on the link and you'll be logged in.
  4. Explore the web app: /profile, /admin/users etc.

Documentation

  • Set up local development environment
  • How to run the web app
  • Web app initialization (important!)
  • Load fake data (for localhost usage)
  • How to run tests
  • Decorators
  • Handlers: how to create and use them (controllers/views)
  • Translation system
  • See the data in Datastore visually on localhost
  • Background tasks
  • Cron jobs
  • Deployment

TODO

  • Admin: update SendGrid key
  • User: upload profile picture to Google Cloud Storage + instructions in documentation (how to create a bucket)
  • Slovene translations (all HTML templates)
  • Documentation

Known issues

  • ...