├── .gitignore ├── README.md ├── section01 ├── 05_our_project_and_endpoints │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 06_reviewing_beginner_course_code │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 07_simplifying_error_handling │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 08_refactoring_resources │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 09_should_have_unique_names │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 10_adding_basic_type_hinting │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 11_adding_custom_json_types │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 12_using_current_class_as_type_hint │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 13_using_black_code_formatting │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 14_improving_errors_with_constants │ ├── end │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py └── 15_classmethod_across_the_board │ ├── end │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── db.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── requirements.txt │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── start │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── db.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── requirements.txt │ └── resources │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py ├── section02 ├── 21_migrating_virtualenv_pipenv │ ├── end │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ └── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── requirements.txt │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 23_vanilla_marshmallow │ ├── end │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── blacklist.cpython-37.pyc │ │ │ ├── db.cpython-37.pyc │ │ │ └── ma.cpython-37.pyc │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ ├── store.cpython-37.pyc │ │ │ │ └── user.cpython-37.pyc │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ ├── store.cpython-37.pyc │ │ │ │ └── user.cpython-37.pyc │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-37.pyc │ │ │ ├── item.cpython-37.pyc │ │ │ ├── store.cpython-37.pyc │ │ │ └── user.cpython-37.pyc │ │ │ └── user.py │ └── start │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 25_flask_marshmallow │ ├── end │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── blacklist.cpython-37.pyc │ │ │ ├── db.cpython-37.pyc │ │ │ └── ma.cpython-37.pyc │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ ├── store.cpython-37.pyc │ │ │ │ └── user.cpython-37.pyc │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ └── store.cpython-37.pyc │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-37.pyc │ │ │ ├── item.cpython-37.pyc │ │ │ ├── store.cpython-37.pyc │ │ │ └── user.cpython-37.pyc │ │ │ └── user.py │ └── start │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ └── user.py ├── 26_adding_items_to_rest_api │ ├── end │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── __pycache__ │ │ │ ├── blacklist.cpython-37.pyc │ │ │ ├── db.cpython-37.pyc │ │ │ └── ma.cpython-37.pyc │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ └── user.cpython-37.pyc │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ │ ├── __init__.cpython-37.pyc │ │ │ │ ├── item.cpython-37.pyc │ │ │ │ └── user.cpython-37.pyc │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── __pycache__ │ │ │ ├── __init__.cpython-37.pyc │ │ │ ├── item.cpython-37.pyc │ │ │ └── user.cpython-37.pyc │ │ │ ├── item.py │ │ │ └── user.py │ └── start │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ └── user.py ├── 27_adding_stores_to_rest_api │ ├── end │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ └── user.py └── 28_deduplicating_error_handling │ ├── end │ ├── Pipfile │ ├── Pipfile.lock │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── db.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── start │ ├── Pipfile │ ├── Pipfile.lock │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── data.db │ ├── db.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py ├── section03 ├── 33_adding_activated_prop │ ├── end │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 34_activating_users_manually │ ├── end │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ └── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ └── start │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 35_telling_users_they_are_active │ ├── end │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ └── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py ├── 37_send_emails_mailgun_part1 │ ├── end │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 39_creating_mailgun_lib_file │ ├── end │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 40_using_env_files_flask │ ├── end │ │ ├── .env │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 41_adding_configuration_to_dotenv │ ├── end │ │ ├── .env │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html └── 42_error_handling_mailgun │ ├── end │ ├── .env │ ├── README.md │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── db.py │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── static │ │ └── confirmation_page.css │ └── templates │ │ └── confirmation_page.html │ └── start │ ├── .env │ ├── README.md │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── db.py │ ├── libs │ ├── __init__.py │ └── mailgun.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── static │ └── confirmation_page.css │ └── templates │ └── confirmation_page.html ├── section04 ├── 46_creating_confirmation_model │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 47_changes_in_usermodel │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 48_creating_confirmationresource │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 49_updating_userresource │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 51_adding_last_confirmation_to_user_schema │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 52_fixing_app_py │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 55_storing_strings_in_config_files │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ └── templates │ │ └── confirmation_page.html ├── 56_creating_simple_translation_lib │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── mailgun.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 57_updating_resources_to_use_translations │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── README.md │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── data.db │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html └── 58_adding_new_language │ ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── data.db │ ├── db.py │ ├── libs │ │ ├── __init__.py │ │ ├── mailgun.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── static │ │ └── confirmation_page.css │ ├── strings │ │ ├── en-gb.json │ │ └── es-es.json │ └── templates │ │ └── confirmation_page.html │ └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── data.db │ ├── db.py │ ├── libs │ ├── __init__.py │ ├── mailgun.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── confirmation.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── confirmation.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── confirmation.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── static │ └── confirmation_page.css │ ├── strings │ └── en-gb.json │ └── templates │ └── confirmation_page.html ├── section06 ├── 75_install_flask_uploads │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 76_config_files_flask │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 78_creating_image_helper_lib │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 79_creating_image_schema │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 80_creating_image_upload_resource │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ └── confirmation_page.css │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 81_trying_image_upload │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ ├── confirmation_page.css │ │ │ └── images │ │ │ │ └── user_1 │ │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ └── confirmation_page.css │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 82_retrieving_and_deleting_images │ ├── end │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ ├── confirmation_page.css │ │ │ └── images │ │ │ │ └── user_1 │ │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ ├── confirmation_page.css │ │ └── images │ │ │ └── user_1 │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html ├── 83_another_example_user_avatars │ ├── end │ │ ├── .DS_Store │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ ├── image_helper.py │ │ │ ├── mailgun.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ ├── confirmation.py │ │ │ ├── image.py │ │ │ ├── item.py │ │ │ ├── store.py │ │ │ └── user.py │ │ ├── static │ │ │ ├── confirmation_page.css │ │ │ └── images │ │ │ │ ├── avatars │ │ │ │ └── user_1.jpg │ │ │ │ └── user_1 │ │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ │ ├── strings │ │ │ └── en-gb.json │ │ └── templates │ │ │ └── confirmation_page.html │ └── start │ │ ├── .env │ │ ├── .env.example │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── __init__.py │ │ ├── app.py │ │ ├── blocklist.py │ │ ├── config.py │ │ ├── data.db │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ │ ├── static │ │ ├── confirmation_page.css │ │ └── images │ │ │ └── user_1 │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ │ ├── strings │ │ └── en-gb.json │ │ └── templates │ │ └── confirmation_page.html └── 84_adding_avatar_resource │ ├── end │ ├── .DS_Store │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ ├── image_helper.py │ │ ├── mailgun.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── confirmation.py │ │ ├── image.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── static │ │ ├── confirmation_page.css │ │ └── images │ │ │ ├── avatars │ │ │ └── user_1.jpg │ │ │ └── user_1 │ │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ ├── strings │ │ └── en-gb.json │ └── templates │ │ └── confirmation_page.html │ └── start │ ├── .DS_Store │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── __init__.py │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ ├── image_helper.py │ ├── mailgun.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── confirmation.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── confirmation.py │ ├── image.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── confirmation.py │ ├── image.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── static │ ├── confirmation_page.css │ └── images │ │ ├── avatars │ │ └── user_1.jpg │ │ └── user_1 │ │ └── Screen_Shot_2018-09-24_at_11.04.58.png │ ├── strings │ └── en-gb.json │ └── templates │ └── confirmation_page.html ├── section07 ├── 88_whats_in_starter_code │ └── start │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 90_connecting_remote_database │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 91_initialising_flask_migrate_alembic │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── migrations │ │ │ ├── README │ │ │ ├── alembic.ini │ │ │ ├── env.py │ │ │ └── script.py.mako │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 94_checking_alembic_script │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── migrations │ │ │ ├── README │ │ │ ├── alembic.ini │ │ │ ├── env.py │ │ │ ├── script.py.mako │ │ │ └── versions │ │ │ │ ├── 2ddd916f2337_.py │ │ │ │ └── c6e9079e16eb_.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── migrations │ │ ├── README │ │ ├── alembic.ini │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions │ │ │ ├── 2ddd916f2337_.py │ │ │ └── c6e9079e16eb_.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 95_adding_new_column_with_migrations │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── migrations │ │ │ ├── README │ │ │ ├── alembic.ini │ │ │ ├── env.py │ │ │ ├── script.py.mako │ │ │ └── versions │ │ │ │ ├── 2ddd916f2337_.py │ │ │ │ ├── c6e9079e16eb_.py │ │ │ │ └── fb50d0a7760e_added_unique_non_null_email_field_on_.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── db.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── migrations │ │ ├── README │ │ ├── alembic.ini │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions │ │ │ ├── 2ddd916f2337_.py │ │ │ └── c6e9079e16eb_.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json └── 98_defining_sqlalchemy_naming_convention │ ├── end │ ├── .env.example │ ├── .gitignore │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── db.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── migrations │ │ ├── README │ │ ├── alembic.ini │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions │ │ │ ├── 0af3082e34b0_.py │ │ │ └── 3a9f65801ff9_.py │ ├── models │ │ ├── __init__.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ └── strings │ │ └── en-gb.json │ └── start │ ├── .env.example │ ├── .gitignore │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── db.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── migrations │ ├── README │ ├── alembic.ini │ ├── env.py │ ├── script.py.mako │ └── versions │ │ ├── 2ddd916f2337_.py │ │ ├── c6e9079e16eb_.py │ │ └── fb50d0a7760e_added_unique_non_null_email_field_on_.py │ ├── models │ ├── __init__.py │ └── user.py │ ├── resources │ ├── __init__.py │ └── user.py │ ├── schemas │ ├── __init__.py │ └── user.py │ └── strings │ └── en-gb.json ├── section08 ├── 103_whats_in_starter_code │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 105_creating_github_oauth_app │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 106_flask_oauthlib │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 107_setting_up_github_client │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 108_our_githublogin_resource │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 110_what_is_tokengetter │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 111_finishing_githubauthorize_resource │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 112_adding_error_handling │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 113_setting_user_passwords │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json ├── 114_using_url_for_with_flask_restful │ ├── end │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── .python-version │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ │ ├── __init__.py │ │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ └── user.py │ │ ├── oa.py │ │ ├── requirements.txt │ │ ├── resources │ │ │ ├── __init__.py │ │ │ ├── github_login.py │ │ │ └── user.py │ │ ├── schemas │ │ │ ├── __init__.py │ │ │ └── user.py │ │ └── strings │ │ │ └── en-gb.json │ └── start │ │ ├── .env.example │ │ ├── .gitignore │ │ ├── Pipfile │ │ ├── Pipfile.lock │ │ ├── app.py │ │ ├── config.py │ │ ├── db.py │ │ ├── default_config.py │ │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ │ ├── ma.py │ │ ├── models │ │ ├── __init__.py │ │ └── user.py │ │ ├── oa.py │ │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ │ └── strings │ │ └── en-gb.json └── 115_migrate_to_authlib │ ├── README.md │ ├── end │ ├── .env.example │ ├── .python-version │ ├── app.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ └── user.py │ ├── oa.py │ ├── requirements.txt │ ├── resources │ │ ├── __init__.py │ │ ├── github_login.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ └── user.py │ └── strings │ │ └── en-gb.json │ └── start │ ├── .env.example │ ├── .python-version │ ├── app.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ └── user.py │ ├── oa.py │ ├── requirements.txt │ ├── resources │ ├── __init__.py │ ├── github_login.py │ └── user.py │ ├── schemas │ ├── __init__.py │ └── user.py │ └── strings │ └── en-gb.json └── section09 ├── 118_whats_in_starter_code └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 121_after_payment_receive_order_data ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 122_creating_ordermodel ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 123_many_to_many_relationships_sqlalchemy ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 124_using_association_object_in_resource ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 125_charging_orders_with_stripe ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 126_calculating_amount_and_description ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json ├── 128_creating_a_way_to_view_existing_orders ├── end │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ │ ├── __init__.py │ │ └── strings.py │ ├── ma.py │ ├── models │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── resources │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ ├── schemas │ │ ├── __init__.py │ │ ├── item.py │ │ ├── order.py │ │ ├── store.py │ │ └── user.py │ └── strings │ │ └── en-gb.json └── start │ ├── .env │ ├── .env.example │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── blocklist.py │ ├── config.py │ ├── db.py │ ├── default_config.py │ ├── libs │ ├── __init__.py │ └── strings.py │ ├── ma.py │ ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py │ └── strings │ └── en-gb.json └── 129_error_handling_stripe ├── end ├── .env ├── .env.example ├── Pipfile ├── Pipfile.lock ├── app.py ├── blocklist.py ├── config.py ├── data.db ├── db.py ├── default_config.py ├── libs │ ├── __init__.py │ └── strings.py ├── ma.py ├── models │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py ├── resources │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py ├── schemas │ ├── __init__.py │ ├── item.py │ ├── order.py │ ├── store.py │ └── user.py └── strings │ └── en-gb.json └── start ├── .env ├── .env.example ├── Pipfile ├── Pipfile.lock ├── app.py ├── blocklist.py ├── config.py ├── db.py ├── default_config.py ├── libs ├── __init__.py └── strings.py ├── ma.py ├── models ├── __init__.py ├── item.py ├── order.py ├── store.py └── user.py ├── resources ├── __init__.py ├── item.py ├── order.py ├── store.py └── user.py ├── schemas ├── __init__.py ├── item.py ├── order.py ├── store.py └── user.py └── strings └── en-gb.json /.gitignore: -------------------------------------------------------------------------------- 1 | .venv 2 | .vscode 3 | .DS_Store 4 | .idea/ 5 | __pycache__/ 6 | *.pyc 7 | *.db 8 | .env 9 | -------------------------------------------------------------------------------- /section01/05_our_project_and_endpoints/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/05_our_project_and_endpoints/start/__init__.py -------------------------------------------------------------------------------- /section01/05_our_project_and_endpoints/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/05_our_project_and_endpoints/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/06_reviewing_beginner_course_code/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/06_reviewing_beginner_course_code/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/07_simplifying_error_handling/end/__init__.py -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/07_simplifying_error_handling/start/__init__.py -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/07_simplifying_error_handling/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/08_refactoring_resources/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/08_refactoring_resources/end/__init__.py -------------------------------------------------------------------------------- /section01/08_refactoring_resources/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/08_refactoring_resources/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/08_refactoring_resources/end/models/__init__.py -------------------------------------------------------------------------------- /section01/08_refactoring_resources/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/08_refactoring_resources/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/08_refactoring_resources/start/__init__.py -------------------------------------------------------------------------------- /section01/08_refactoring_resources/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/08_refactoring_resources/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/08_refactoring_resources/start/models/__init__.py -------------------------------------------------------------------------------- /section01/08_refactoring_resources/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/09_should_have_unique_names/end/__init__.py -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/09_should_have_unique_names/start/__init__.py -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/09_should_have_unique_names/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/10_adding_basic_type_hinting/end/__init__.py -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/10_adding_basic_type_hinting/start/__init__.py -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/10_adding_basic_type_hinting/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/11_adding_custom_json_types/end/__init__.py -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/11_adding_custom_json_types/start/__init__.py -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/11_adding_custom_json_types/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/12_using_current_class_as_type_hint/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/12_using_current_class_as_type_hint/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/12_using_current_class_as_type_hint/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/12_using_current_class_as_type_hint/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/13_using_black_code_formatting/end/__init__.py -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/13_using_black_code_formatting/start/__init__.py -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/13_using_black_code_formatting/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/14_improving_errors_with_constants/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/14_improving_errors_with_constants/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/14_improving_errors_with_constants/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/14_improving_errors_with_constants/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/15_classmethod_across_the_board/end/__init__.py -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/end/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section01/15_classmethod_across_the_board/start/__init__.py -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section01/15_classmethod_across_the_board/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section02/21_migrating_virtualenv_pipenv/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/21_migrating_virtualenv_pipenv/end/__init__.py -------------------------------------------------------------------------------- /section02/21_migrating_virtualenv_pipenv/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/21_migrating_virtualenv_pipenv/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/21_migrating_virtualenv_pipenv/start/__init__.py -------------------------------------------------------------------------------- /section02/21_migrating_virtualenv_pipenv/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/21_migrating_virtualenv_pipenv/start/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | Flask-JWT-Extended 3 | Flask-RESTful 4 | Flask-SQLAlchemy -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/README.md -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/__init__.py -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/data.db -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/models/__init__.py -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/resources/__init__.py -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/end/schemas/__init__.py -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/start/__init__.py -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/23_vanilla_marshmallow/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/23_vanilla_marshmallow/start/models/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/end/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/end/data.db -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/end/models/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/end/resources/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/end/schemas/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/README.md -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/data.db -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/models/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/resources/__init__.py -------------------------------------------------------------------------------- /section02/25_flask_marshmallow/start/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/25_flask_marshmallow/start/schemas/__init__.py -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/26_adding_items_to_rest_api/end/__init__.py -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/26_adding_items_to_rest_api/end/data.db -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/26_adding_items_to_rest_api/start/__init__.py -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/26_adding_items_to_rest_api/start/data.db -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/26_adding_items_to_rest_api/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/27_adding_stores_to_rest_api/end/__init__.py -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/27_adding_stores_to_rest_api/end/data.db -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/27_adding_stores_to_rest_api/start/__init__.py -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/27_adding_stores_to_rest_api/start/data.db -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/27_adding_stores_to_rest_api/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/28_deduplicating_error_handling/end/__init__.py -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/28_deduplicating_error_handling/start/__init__.py -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section02/28_deduplicating_error_handling/start/data.db -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section02/28_deduplicating_error_handling/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/end/README.md -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/end/__init__.py -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/end/models/__init__.py -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/end/schemas/__init__.py -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/start/__init__.py -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/33_adding_activated_prop/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/33_adding_activated_prop/start/models/__init__.py -------------------------------------------------------------------------------- /section03/34_activating_users_manually/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/34_activating_users_manually/end/README.md -------------------------------------------------------------------------------- /section03/34_activating_users_manually/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/34_activating_users_manually/end/__init__.py -------------------------------------------------------------------------------- /section03/34_activating_users_manually/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/34_activating_users_manually/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/34_activating_users_manually/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/34_activating_users_manually/start/README.md -------------------------------------------------------------------------------- /section03/34_activating_users_manually/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/34_activating_users_manually/start/__init__.py -------------------------------------------------------------------------------- /section03/34_activating_users_manually/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/34_activating_users_manually/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/35_telling_users_they_are_active/end/README.md -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/35_telling_users_they_are_active/end/__init__.py -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/35_telling_users_they_are_active/start/README.md -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/35_telling_users_they_are_active/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/37_send_emails_mailgun_part1/end/README.md -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/37_send_emails_mailgun_part1/end/__init__.py -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/37_send_emails_mailgun_part1/start/README.md -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/37_send_emails_mailgun_part1/start/__init__.py -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/37_send_emails_mailgun_part1/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/39_creating_mailgun_lib_file/end/README.md -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/39_creating_mailgun_lib_file/end/__init__.py -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/39_creating_mailgun_lib_file/end/libs/__init__.py -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/39_creating_mailgun_lib_file/start/README.md -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/39_creating_mailgun_lib_file/start/__init__.py -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/39_creating_mailgun_lib_file/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/end/README.md -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/end/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/end/libs/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/end/models/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/end/schemas/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/start/README.md -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/start/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/start/libs/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/40_using_env_files_flask/start/models/__init__.py -------------------------------------------------------------------------------- /section03/40_using_env_files_flask/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/41_adding_configuration_to_dotenv/end/README.md -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/41_adding_configuration_to_dotenv/end/__init__.py -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/41_adding_configuration_to_dotenv/start/README.md -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/41_adding_configuration_to_dotenv/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/42_error_handling_mailgun/end/README.md -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/42_error_handling_mailgun/end/__init__.py -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/42_error_handling_mailgun/end/libs/__init__.py -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/42_error_handling_mailgun/start/README.md -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section03/42_error_handling_mailgun/start/__init__.py -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section03/42_error_handling_mailgun/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/46_creating_confirmation_model/end/README.md -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/46_creating_confirmation_model/end/__init__.py -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/46_creating_confirmation_model/end/data.db -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/46_creating_confirmation_model/start/README.md -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/46_creating_confirmation_model/start/data.db -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/46_creating_confirmation_model/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/end/README.md -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/end/__init__.py -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/end/data.db -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/end/libs/__init__.py -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/end/models/__init__.py -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/start/README.md -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/start/__init__.py -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/start/data.db -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/47_changes_in_usermodel/start/libs/__init__.py -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/47_changes_in_usermodel/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/48_creating_confirmationresource/end/README.md -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/48_creating_confirmationresource/end/data.db -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/48_creating_confirmationresource/start/data.db -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/48_creating_confirmationresource/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/end/README.md -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/end/__init__.py -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/end/data.db -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/end/libs/__init__.py -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/start/README.md -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/start/__init__.py -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/49_updating_userresource/start/data.db -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/49_updating_userresource/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/51_adding_last_confirmation_to_user_schema/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/README.md -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/data.db -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/libs/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/models/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/resources/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/end/schemas/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/README.md -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/data.db -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/libs/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/models/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/resources/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/52_fixing_app_py/start/schemas/__init__.py -------------------------------------------------------------------------------- /section04/52_fixing_app_py/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/55_storing_strings_in_config_files/end/data.db -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/55_storing_strings_in_config_files/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/56_creating_simple_translation_lib/end/data.db -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/56_creating_simple_translation_lib/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/57_updating_resources_to_use_translations/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/README.md -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/data.db -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/libs/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/models/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/end/schemas/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/.env: -------------------------------------------------------------------------------- 1 | MAILGUN_API_KEY= 2 | MAILGUN_DOMAIN= 3 | DATABASE_URL=sqlite:///data.db 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/start/README.md -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/start/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/start/data.db -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section04/58_adding_new_language/start/libs/__init__.py -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section04/58_adding_new_language/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/.env: -------------------------------------------------------------------------------- 1 | DATABASE_URL=sqlite:/// 2 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 3 | MAILGUN_DOMAIN=mg.schoolofcode.me 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= 5 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/75_install_flask_uploads/end/__init__.py -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/75_install_flask_uploads/end/libs/__init__.py -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/.env: -------------------------------------------------------------------------------- 1 | DATABASE_URL=sqlite:/// 2 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 3 | MAILGUN_DOMAIN=mg.schoolofcode.me 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= 5 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/75_install_flask_uploads/start/__init__.py -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/75_install_flask_uploads/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/end/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/end/data.db -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/end/libs/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/end/models/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/end/schemas/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/.env: -------------------------------------------------------------------------------- 1 | DATABASE_URL=sqlite:/// 2 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 3 | MAILGUN_DOMAIN=mg.schoolofcode.me 4 | APP_SECRET_KEY=jose123 5 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URL= 2 | MAILGUN_API_KEY= 3 | MAILGUN_DOMAIN= 4 | APP_SECRET_KEY= 5 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/start/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/start/libs/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/76_config_files_flask/start/models/__init__.py -------------------------------------------------------------------------------- /section06/76_config_files_flask/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/78_creating_image_helper_lib/end/__init__.py -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/78_creating_image_helper_lib/end/data.db -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/78_creating_image_helper_lib/start/__init__.py -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/78_creating_image_helper_lib/start/data.db -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/78_creating_image_helper_lib/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/79_creating_image_schema/end/__init__.py -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/79_creating_image_schema/end/data.db -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/79_creating_image_schema/end/libs/__init__.py -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/79_creating_image_schema/start/__init__.py -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/79_creating_image_schema/start/data.db -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/79_creating_image_schema/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/80_creating_image_upload_resource/end/data.db -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/80_creating_image_upload_resource/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/end/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/end/data.db -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/end/libs/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/end/models/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/end/schemas/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/start/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/start/data.db -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/81_trying_image_upload/start/libs/__init__.py -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/81_trying_image_upload/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/82_retrieving_and_deleting_images/end/data.db -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/82_retrieving_and_deleting_images/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/83_another_example_user_avatars/end/.DS_Store -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/83_another_example_user_avatars/start/data.db -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/83_another_example_user_avatars/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/84_adding_avatar_resource/end/.DS_Store -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/84_adding_avatar_resource/end/__init__.py -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/84_adding_avatar_resource/end/libs/__init__.py -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/end/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/84_adding_avatar_resource/start/.DS_Store -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY=something-amazingly-secret 2 | APPLICATION_SETTINGS=config.py 3 | MAILGUN_API_KEY=key-798b9585aedd35d87f1bf506cadc221e 4 | MAILGUN_DOMAIN=mg.schoolofcode.me -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/.env.example: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY= 2 | APPLICATION_SETTINGS=default_config.py 3 | MAILGUN_API_KEY= 4 | MAILGUN_DOMAIN= 5 | DATABASE_URL= -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section06/84_adding_avatar_resource/start/__init__.py -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section06/84_adding_avatar_resource/start/static/confirmation_page.css: -------------------------------------------------------------------------------- 1 | .full-height { 2 | height: 80vh; 3 | margin: 10px; 4 | background-color: aquamarine; 5 | } -------------------------------------------------------------------------------- /section07/88_whats_in_starter_code/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/88_whats_in_starter_code/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/88_whats_in_starter_code/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/90_connecting_remote_database/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/end/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/91_initialising_flask_migrate_alembic/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/end/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/94_checking_alembic_script/start/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/end/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/95_adding_new_column_with_migrations/start/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/end/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/end/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/start/.env.example: -------------------------------------------------------------------------------- 1 | DATABASE_URI= -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section07/98_defining_sqlalchemy_naming_convention/start/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /section08/103_whats_in_starter_code/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= -------------------------------------------------------------------------------- /section08/103_whats_in_starter_code/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/103_whats_in_starter_code/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/103_whats_in_starter_code/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/103_whats_in_starter_code/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/105_creating_github_oauth_app/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/end/libs/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/end/models/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/end/resources/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/end/schemas/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/start/libs/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/start/models/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/start/resources/__init__.py -------------------------------------------------------------------------------- /section08/106_flask_oauthlib/start/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/106_flask_oauthlib/start/schemas/__init__.py -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/107_setting_up_github_client/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/108_our_githublogin_resource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/110_what_is_tokengetter/end/libs/__init__.py -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/110_what_is_tokengetter/end/models/__init__.py -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/110_what_is_tokengetter/start/libs/__init__.py -------------------------------------------------------------------------------- /section08/110_what_is_tokengetter/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/111_finishing_githubauthorize_resource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/112_adding_error_handling/end/libs/__init__.py -------------------------------------------------------------------------------- /section08/112_adding_error_handling/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/112_adding_error_handling/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/112_adding_error_handling/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/113_setting_user_passwords/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/.python-version: -------------------------------------------------------------------------------- 1 | 3.10.4 2 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/start/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .idea/ 3 | __pycache__/ 4 | *.pyc 5 | *.db 6 | .env 7 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/114_using_url_for_with_flask_restful/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/.python-version: -------------------------------------------------------------------------------- 1 | 3.10.4 2 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/115_migrate_to_authlib/end/libs/__init__.py -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/115_migrate_to_authlib/end/models/__init__.py -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/end/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/115_migrate_to_authlib/end/schemas/__init__.py -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS= 2 | SECRET_KEY= 3 | JWT_SECRET_KEY= 4 | GITHUB_CONSUMER_KEY= 5 | GITHUB_CONSUMER_SECRET= -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/.python-version: -------------------------------------------------------------------------------- 1 | 3.10.4 2 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section08/115_migrate_to_authlib/start/libs/__init__.py -------------------------------------------------------------------------------- /section08/115_migrate_to_authlib/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/118_whats_in_starter_code/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/118_whats_in_starter_code/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/118_whats_in_starter_code/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/118_whats_in_starter_code/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/118_whats_in_starter_code/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/121_after_payment_receive_order_data/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section09/122_creating_ordermodel/end/libs/__init__.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/end/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section09/122_creating_ordermodel/end/models/__init__.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section09/122_creating_ordermodel/start/libs/__init__.py -------------------------------------------------------------------------------- /section09/122_creating_ordermodel/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/123_many_to_many_relationships_sqlalchemy/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/124_using_association_object_in_resource/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/125_charging_orders_with_stripe/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/126_calculating_amount_and_description/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/end/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/end/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/128_creating_a_way_to_view_existing_orders/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/.env: -------------------------------------------------------------------------------- 1 | STRIPE_API_KEY=sk_test_D6xWhIgzYlocu60Joz0K5oeB 2 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/.env.example: -------------------------------------------------------------------------------- 1 | STRIPE_API_KEY= 2 | APPLICATION_SETTINGS=default_config.py -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/data.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section09/129_error_handling_stripe/end/data.db -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/libs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tecladocode/advanced-rest-api-lecture-codes/ffc4b1491a33f4a495e4ab18af0284e8e70a8a5e/section09/129_error_handling_stripe/end/libs/__init__.py -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/end/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/start/.env: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/start/.env.example: -------------------------------------------------------------------------------- 1 | APPLICATION_SETTINGS=default_config.py 2 | STRIPE_API_KEY= -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/start/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | DEBUG = False 4 | SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///data.db") 5 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/start/db.py: -------------------------------------------------------------------------------- 1 | from flask_sqlalchemy import SQLAlchemy 2 | 3 | db = SQLAlchemy() 4 | -------------------------------------------------------------------------------- /section09/129_error_handling_stripe/start/ma.py: -------------------------------------------------------------------------------- 1 | from flask_marshmallow import Marshmallow 2 | 3 | ma = Marshmallow() 4 | --------------------------------------------------------------------------------