A web application starter for Google App Engine Python 3 runtime.
If you like this project, please star it! ;)
- 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
- Run the web app using
run.py
(instructions). - Initialize the web app via
http://localhost:8080/init
. You can enter fake SendGrid key in the beginning (instructions). - 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.
- Explore the web app:
/profile
,/admin/users
etc.
- 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
- 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
- ...