Skip to content

AE-Python is part of AE-BaseApp a Multi-Platform Google App Engine Base Application Project. This version is based on Google's webapp2 Framework and Python Language.

License

Notifications You must be signed in to change notification settings

AE-BaseApp/Python

Repository files navigation

AE-Python - Python / webapp2 / Google App Engine Base App

AE Python BaseApp

AE-BaseApp is a multi-platform app-engine base-app created by Mark Finch to assist developers looking to build their first applications leveraging Google's Cloud Infrastructure. AE-Python is loosely based on the video from Brett Slatkin introducing Google App Engine at Google IO 2008.

The AE-Python version of AE-BaseApp uses the Python Language along with the webapp2 Framework to provide a simple application base to launch new Google App Engine Applications from.

Features of version 4 include ad provider integration, examples of how to use basic templates, access the datastore to create and read, user authentication & registration.

Accomplished:

  • Version 1
    • Ad-Sense Integration
    • Basic Template Usage
    • Access the Datastore to create and Read
  • Version 2
    • Updated to Python 2.7
    • Updated to Webapp2
    • Configured for High Replication Datastore
    • User Authentication
      • Google
      • OpenID
    • Basic User Registration
    • Basic Application Security
    • Basic Ad-Provider Framework
    • Basic Admin Framework
    • Basic Authentication Decorator
  • Version 3
    • Date/Time Conversion from UTC
    • User Profile Time Zone Picker
    • Admin Default Time Zone Selector
    • Store User IP from Headers
    • Email Account Validation
    • Strip Shouts to remove formating and scripts
    • Error Pages (eg 404...)
  • Version 4
    • Swapped PYTZ for GAEPYTZ
    • db.Model Upgrades
    • Transition to MVC Design Pattern
    • Changed the default time zone in profile.html to Los Angeles
    • Added Info Email Address and Processing
    • Added Gravatars to Email and Shouts
    • Added Django Template Filters
    • Updated env_vars.py to set a default ad_provider and default_tz
    • Basic JavaScript form validation
    • Add Internal Validation

Project Road Map:

  • Version 4
    • Add Shout update and delete functionality
    • Page Security (In Progress need to double check page access)

Look at overall ability to use base app as template for new app from Git

Decide what needs to be done to make the application more of a template

  • Version 5
    • Shout Navigation
    • Add OpenID URL based Authentication
    • Add OAuth
    • Add Facebook Connect
    • Add Avatars beyond Gravatars
    • Migrate Info email attachments to blobstore
    • Navbar
  • Planned Features
    • Application Logging
    • Error Handling
    • Compare Performance of Lazy Handlers
    • Add Docstrings to source files (PEP 257)
    • Update model to key based
    • Setup Memcahce
    • Add MarkDown or similar functionality
    • Cron job for cleaning profiles and validate data
    • Email Validation Manual Entery Form
    • Enable User Update and Delete Functionality
    • Search (by user, by content, by date)
    • Robust Admin Module
    • Geo Location (initial using location header, )
    • Add From Location
    • Add MiniMap popout
    • Integrate with Twitter / Facebook / ...
    • Rails style Flash Notice / Warning
    • Many many more!!!

Application Stack:

  • Google App Engine Python
  • Google webapp2 Framework
  • Django Templates
  • Blueprint CSS Framework
  • PyTZ Time Zone Framework

Issues:

  • THIS APP IS NOT PRODUCTION READY!!!
  • Read the file ISSUES to see a list of known issues and resolutions.

No Warranties:

There are no warranties expressed or implied. Use at your own RISK!

Setup:

  • Edit the app.yaml file to change the application name.
  • Run the dev server.
  • You will be greeted with a 500 Error, go to the /login page and login/create an admin user.
  • Visit /admin page to setup the default environment variables.
  • Go back to the home page and double check everything is working.
  • Hack away, but remember you break it you bought it! wink [1][1]

License:

AE-Python BaseApp source code is licensed under the Apache 2.0 License.

Please check the file LICENSE to see other licenses that impact this project.

Notes:

  • [1] The corollary is you got what you paid for!

About

AE-Python is part of AE-BaseApp a Multi-Platform Google App Engine Base Application Project. This version is based on Google's webapp2 Framework and Python Language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published