Getting Started Build Large Flask Apps Without Losing Your Sanity The Problem: Flask Doesn’t Scale Cleanly The Solution: Modular Flask Done Right Quick Installation Project Generation Environment Variables Essential Variables Session Security Admin Panel Security Cross-Site Request Forgery (CSRF) Protection Email Configuration Seeding Configuration Why Not Plain Flask? FAQ Quickstart Install Shopyo Create Your Project Access Your App Create Your First Module Run Initialise to Register Module What’s Next? Core Concepts Architecture Core Philosophy The “Box and Module” System Project Structure Initialization Flow Configuration Static Asset Collection Database Management Modules/Apps Easy way to create module info.json Default Modules/Boxes Using Shopyo as a Flask base Importing modules global.py upload.py Plugins What is a Plugin? Communication Between Plugins Loading Order Disabling Modules Installing External Plugins Tutorials Authentication & Authorization Auth Key Features Auth Tutorial Prerequisites Shopyo Auth Configuration CLI Management Access Control API Tokens (Personal Access Tokens) Auth Events System Polls Tutorial Building a Polls App (Tutorial) Polls Tutorial Prerequisites Polls Implementation Polls Demo Source Code Shopyo Theme Tutorial Concepts Theme Location Creating a Theme Using Themes in Templates Activating a Theme Advanced: Theme Assets Reference Commandline Args shopyo clean Initialise run rundebug runserver startapp startbox createmodule collectstatic new db routes rename audit Shopyo api api.assets api.constants api.database api.email api.enhance api.file api.forms api.html api.info api.models api.module api.perms api.security api.templates api.validators api.response api.endpoint Models Example models Views The ModuleHelp Abstraction View Key Features Standard Flask usage Templates Developing a template Global values for templates Passing parameters to templates yo_render Advanced The init file Core Extensions Path Resolution Extension Loading Installed Packages Assets Management The Standard Way (Recommended) How it Works The Legacy Way Summary Packages Example Project Maintenance Testing Running Tests Continuous Integration (Tox) Coverage Reports Run Existing Project Deployment Deploy to shared hosting All steps Community Contributing to Shopyo First time setup Pull Requests Use commitizen to commit (experimental) Setup Mail Dev Environment (Optional) Contributing to package Maintainers notes Education Shopyo specific Index Module Index Search Page