├── .gitignore ├── Part - 0 ├── Part-0 Hello Flask Rest API.md └── movie-bag │ ├── Pipfile │ ├── Pipfile.lock │ └── app.py ├── Part - 1 ├── Part-1 Using MongoDB with Flask.md └── movie-bag │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ └── database │ ├── db.py │ └── models.py ├── Part - 2 ├── Part-2 Better Structure with Blueprint and Flask-restful.md └── movie-bag │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── database │ ├── db.py │ └── models.py │ └── resources │ ├── movie.py │ └── routes.py ├── Part - 3 ├── Part-3 Authenticaion and authorization.md └── movie-bag │ ├── .env │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── database │ ├── db.py │ └── models.py │ └── resources │ ├── auth.py │ ├── movie.py │ └── routes.py ├── Part - 4 ├── Part-4 Exception Handling.md ├── master.patch └── movie-bag │ ├── .env │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── database │ ├── db.py │ └── models.py │ └── resources │ ├── auth.py │ ├── errors.py │ ├── movie.py │ └── routes.py ├── Part - 5 ├── Part-5 Password Reset.md └── movie-bag │ ├── .env │ ├── Pipfile │ ├── Pipfile.lock │ ├── app.py │ ├── database │ ├── db.py │ └── models.py │ ├── resources │ ├── auth.py │ ├── errors.py │ ├── movie.py │ ├── reset_password.py │ └── routes.py │ ├── run.py │ ├── services │ └── mail_service.py │ └── templates │ └── email │ ├── reset_password.html │ └── reset_password.txt └── Part - 6 ├── Part-6 Testing REST APIs.md └── movie-bag ├── .env ├── .env.test ├── Pipfile ├── Pipfile.lock ├── app.py ├── database ├── db.py └── models.py ├── resources ├── auth.py ├── errors.py ├── movie.py ├── reset_password.py └── routes.py ├── run.py ├── services └── mail_service.py ├── templates └── email │ ├── reset_password.html │ └── reset_password.txt └── tests ├── BaseCase.py ├── __init__.py ├── test_create_movie.py ├── test_get_movies.py ├── test_login.py └── test_signup.py /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__ -------------------------------------------------------------------------------- /Part - 0/Part-0 Hello Flask Rest API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 0/Part-0 Hello Flask Rest API.md -------------------------------------------------------------------------------- /Part - 0/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 0/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 0/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 0/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 0/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 0/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 1/Part-1 Using MongoDB with Flask.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/Part-1 Using MongoDB with Flask.md -------------------------------------------------------------------------------- /Part - 1/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 1/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 1/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 1/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 1/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 1/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 2/Part-2 Better Structure with Blueprint and Flask-restful.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/Part-2 Better Structure with Blueprint and Flask-restful.md -------------------------------------------------------------------------------- /Part - 2/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 2/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 2/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 2/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 2/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 2/movie-bag/resources/movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/resources/movie.py -------------------------------------------------------------------------------- /Part - 2/movie-bag/resources/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 2/movie-bag/resources/routes.py -------------------------------------------------------------------------------- /Part - 3/Part-3 Authenticaion and authorization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/Part-3 Authenticaion and authorization.md -------------------------------------------------------------------------------- /Part - 3/movie-bag/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY = 't1NP63m4wnBg6nyHYKfmc2TpCOGI4nss' -------------------------------------------------------------------------------- /Part - 3/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 3/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 3/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 3/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 3/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 3/movie-bag/resources/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/resources/auth.py -------------------------------------------------------------------------------- /Part - 3/movie-bag/resources/movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/resources/movie.py -------------------------------------------------------------------------------- /Part - 3/movie-bag/resources/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 3/movie-bag/resources/routes.py -------------------------------------------------------------------------------- /Part - 4/Part-4 Exception Handling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/Part-4 Exception Handling.md -------------------------------------------------------------------------------- /Part - 4/master.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/master.patch -------------------------------------------------------------------------------- /Part - 4/movie-bag/.env: -------------------------------------------------------------------------------- 1 | JWT_SECRET_KEY = 't1NP63m4wnBg6nyHYKfmc2TpCOGI4nss' -------------------------------------------------------------------------------- /Part - 4/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 4/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 4/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/resources/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/resources/auth.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/resources/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/resources/errors.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/resources/movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/resources/movie.py -------------------------------------------------------------------------------- /Part - 4/movie-bag/resources/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 4/movie-bag/resources/routes.py -------------------------------------------------------------------------------- /Part - 5/Part-5 Password Reset.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/Part-5 Password Reset.md -------------------------------------------------------------------------------- /Part - 5/movie-bag/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/.env -------------------------------------------------------------------------------- /Part - 5/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 5/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 5/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/resources/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/resources/auth.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/resources/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/resources/errors.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/resources/movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/resources/movie.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/resources/reset_password.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/resources/reset_password.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/resources/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/resources/routes.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/run.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/services/mail_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/services/mail_service.py -------------------------------------------------------------------------------- /Part - 5/movie-bag/templates/email/reset_password.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 5/movie-bag/templates/email/reset_password.html -------------------------------------------------------------------------------- /Part - 5/movie-bag/templates/email/reset_password.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Part - 6/Part-6 Testing REST APIs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/Part-6 Testing REST APIs.md -------------------------------------------------------------------------------- /Part - 6/movie-bag/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/.env -------------------------------------------------------------------------------- /Part - 6/movie-bag/.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/.env.test -------------------------------------------------------------------------------- /Part - 6/movie-bag/Pipfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/Pipfile -------------------------------------------------------------------------------- /Part - 6/movie-bag/Pipfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/Pipfile.lock -------------------------------------------------------------------------------- /Part - 6/movie-bag/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/app.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/database/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/database/db.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/database/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/database/models.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/resources/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/resources/auth.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/resources/errors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/resources/errors.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/resources/movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/resources/movie.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/resources/reset_password.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/resources/reset_password.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/resources/routes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/resources/routes.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/run.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/services/mail_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/services/mail_service.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/templates/email/reset_password.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/templates/email/reset_password.html -------------------------------------------------------------------------------- /Part - 6/movie-bag/templates/email/reset_password.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/BaseCase.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/tests/BaseCase.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/test_create_movie.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/tests/test_create_movie.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/test_get_movies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/tests/test_get_movies.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/test_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/tests/test_login.py -------------------------------------------------------------------------------- /Part - 6/movie-bag/tests/test_signup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/paurakhsharma/flask-rest-api-blog-series/HEAD/Part - 6/movie-bag/tests/test_signup.py --------------------------------------------------------------------------------