├── .github ├── files │ ├── pgAdmin.png │ ├── swagger.png │ └── ui-tests.gif ├── scripts │ └── script.sh └── workflows │ └── docker-image.yml ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── LICENSE ├── README.md ├── flask-api ├── .dockerignore ├── Dockerfile ├── Dockerfile.prod ├── db │ ├── Dockerfile │ └── create.sql ├── manage.py ├── migrations │ ├── README │ ├── alembic.ini │ ├── env.py │ └── script.py.mako ├── project │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ ├── common │ │ │ ├── __init__.py │ │ │ ├── base_definitions.py │ │ │ ├── error_handlers.py │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── constants.py │ │ │ │ ├── decorators.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── helpers.py │ │ │ │ ├── mails.py │ │ │ │ ├── push_notification.py │ │ │ │ └── twilio.py │ │ └── v1 │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── devices.py │ │ │ ├── email_validation.py │ │ │ ├── phone_validation.py │ │ │ └── users.py │ ├── config.py │ ├── extensions.py │ ├── models │ │ ├── __init__.py │ │ ├── device.py │ │ ├── event.py │ │ ├── event_descriptor.py │ │ ├── group.py │ │ ├── user.py │ │ └── user_group_association.py │ ├── tasks │ │ ├── __init__.py │ │ ├── celeryconfig.py │ │ ├── mail_tasks.py │ │ ├── push_notification_tasks.py │ │ └── twilio_tasks.py │ └── templates │ │ ├── auth │ │ ├── email_verification_user.html │ │ ├── email_verification_user.txt │ │ ├── login.html │ │ ├── password_recovery_user.html │ │ ├── password_recovery_user.txt │ │ ├── welcome_new_user.html │ │ └── welcome_new_user.txt │ │ ├── base.html │ │ └── users │ │ └── index.html ├── requirements.txt └── tests │ ├── __init__.py │ ├── base.py │ ├── test_auth.py │ ├── test_config.py │ ├── test_device_model.py │ ├── test_devices.py │ ├── test_event_descriptor_model.py │ ├── test_event_model.py │ ├── test_group_model.py │ ├── test_user_model.py │ ├── test_users.py │ └── utils.py ├── flask-main ├── celery │ └── Dockerfile ├── docker-compose.prod.yml ├── docker-compose.yml ├── nginx │ ├── Dockerfile │ └── flask.conf ├── rabbitmq │ └── Dockerfile ├── redis │ ├── Dockerfile │ └── radis.conf └── swagger │ ├── Dockerfile │ └── swagger.yml └── flask.code-workspace /.github/files/pgAdmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.github/files/pgAdmin.png -------------------------------------------------------------------------------- /.github/files/swagger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.github/files/swagger.png -------------------------------------------------------------------------------- /.github/files/ui-tests.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.github/files/ui-tests.gif -------------------------------------------------------------------------------- /.github/scripts/script.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.github/scripts/script.sh -------------------------------------------------------------------------------- /.github/workflows/docker-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.github/workflows/docker-image.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/README.md -------------------------------------------------------------------------------- /flask-api/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/.dockerignore -------------------------------------------------------------------------------- /flask-api/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/Dockerfile -------------------------------------------------------------------------------- /flask-api/Dockerfile.prod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/Dockerfile.prod -------------------------------------------------------------------------------- /flask-api/db/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/db/Dockerfile -------------------------------------------------------------------------------- /flask-api/db/create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/db/create.sql -------------------------------------------------------------------------------- /flask-api/manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/manage.py -------------------------------------------------------------------------------- /flask-api/migrations/README: -------------------------------------------------------------------------------- 1 | Single-database configuration for Flask. 2 | -------------------------------------------------------------------------------- /flask-api/migrations/alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/migrations/alembic.ini -------------------------------------------------------------------------------- /flask-api/migrations/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/migrations/env.py -------------------------------------------------------------------------------- /flask-api/migrations/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/migrations/script.py.mako -------------------------------------------------------------------------------- /flask-api/project/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/__init__.py -------------------------------------------------------------------------------- /flask-api/project/api/__init__.py: -------------------------------------------------------------------------------- 1 | # project/api/v1/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/api/common/__init__.py: -------------------------------------------------------------------------------- 1 | # project/api/common/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/api/common/base_definitions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/base_definitions.py -------------------------------------------------------------------------------- /flask-api/project/api/common/error_handlers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/error_handlers.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # project/api/common/utils/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/constants.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/decorators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/decorators.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/exceptions.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/helpers.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/mails.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/mails.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/push_notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/push_notification.py -------------------------------------------------------------------------------- /flask-api/project/api/common/utils/twilio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/common/utils/twilio.py -------------------------------------------------------------------------------- /flask-api/project/api/v1/__init__.py: -------------------------------------------------------------------------------- 1 | # project/api/v1/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/api/v1/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/v1/auth.py -------------------------------------------------------------------------------- /flask-api/project/api/v1/devices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/v1/devices.py -------------------------------------------------------------------------------- /flask-api/project/api/v1/email_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/v1/email_validation.py -------------------------------------------------------------------------------- /flask-api/project/api/v1/phone_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/v1/phone_validation.py -------------------------------------------------------------------------------- /flask-api/project/api/v1/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/api/v1/users.py -------------------------------------------------------------------------------- /flask-api/project/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/config.py -------------------------------------------------------------------------------- /flask-api/project/extensions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/extensions.py -------------------------------------------------------------------------------- /flask-api/project/models/__init__.py: -------------------------------------------------------------------------------- 1 | # project/models/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/models/device.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/device.py -------------------------------------------------------------------------------- /flask-api/project/models/event.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/event.py -------------------------------------------------------------------------------- /flask-api/project/models/event_descriptor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/event_descriptor.py -------------------------------------------------------------------------------- /flask-api/project/models/group.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/group.py -------------------------------------------------------------------------------- /flask-api/project/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/user.py -------------------------------------------------------------------------------- /flask-api/project/models/user_group_association.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/models/user_group_association.py -------------------------------------------------------------------------------- /flask-api/project/tasks/__init__.py: -------------------------------------------------------------------------------- 1 | # project/tasks/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/project/tasks/celeryconfig.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/tasks/celeryconfig.py -------------------------------------------------------------------------------- /flask-api/project/tasks/mail_tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/tasks/mail_tasks.py -------------------------------------------------------------------------------- /flask-api/project/tasks/push_notification_tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/tasks/push_notification_tasks.py -------------------------------------------------------------------------------- /flask-api/project/tasks/twilio_tasks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/tasks/twilio_tasks.py -------------------------------------------------------------------------------- /flask-api/project/templates/auth/email_verification_user.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/auth/email_verification_user.html -------------------------------------------------------------------------------- /flask-api/project/templates/auth/email_verification_user.txt: -------------------------------------------------------------------------------- 1 | Email Verification by Flask Base Api - {{user.email}} 2 | -------------------------------------------------------------------------------- /flask-api/project/templates/auth/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/auth/login.html -------------------------------------------------------------------------------- /flask-api/project/templates/auth/password_recovery_user.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/auth/password_recovery_user.html -------------------------------------------------------------------------------- /flask-api/project/templates/auth/password_recovery_user.txt: -------------------------------------------------------------------------------- 1 | Password Recovery by Flask Base Api - {{user.email}} 2 | -------------------------------------------------------------------------------- /flask-api/project/templates/auth/welcome_new_user.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/auth/welcome_new_user.html -------------------------------------------------------------------------------- /flask-api/project/templates/auth/welcome_new_user.txt: -------------------------------------------------------------------------------- 1 | Welcome to Flask Base Api - {{user.email}} 2 | -------------------------------------------------------------------------------- /flask-api/project/templates/base.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/base.html -------------------------------------------------------------------------------- /flask-api/project/templates/users/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/project/templates/users/index.html -------------------------------------------------------------------------------- /flask-api/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/requirements.txt -------------------------------------------------------------------------------- /flask-api/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # project/tests/__init__.py 2 | -------------------------------------------------------------------------------- /flask-api/tests/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/base.py -------------------------------------------------------------------------------- /flask-api/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_auth.py -------------------------------------------------------------------------------- /flask-api/tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_config.py -------------------------------------------------------------------------------- /flask-api/tests/test_device_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_device_model.py -------------------------------------------------------------------------------- /flask-api/tests/test_devices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_devices.py -------------------------------------------------------------------------------- /flask-api/tests/test_event_descriptor_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_event_descriptor_model.py -------------------------------------------------------------------------------- /flask-api/tests/test_event_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_event_model.py -------------------------------------------------------------------------------- /flask-api/tests/test_group_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_group_model.py -------------------------------------------------------------------------------- /flask-api/tests/test_user_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_user_model.py -------------------------------------------------------------------------------- /flask-api/tests/test_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/test_users.py -------------------------------------------------------------------------------- /flask-api/tests/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-api/tests/utils.py -------------------------------------------------------------------------------- /flask-main/celery/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/celery/Dockerfile -------------------------------------------------------------------------------- /flask-main/docker-compose.prod.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/docker-compose.prod.yml -------------------------------------------------------------------------------- /flask-main/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/docker-compose.yml -------------------------------------------------------------------------------- /flask-main/nginx/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/nginx/Dockerfile -------------------------------------------------------------------------------- /flask-main/nginx/flask.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/nginx/flask.conf -------------------------------------------------------------------------------- /flask-main/rabbitmq/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM rabbitmq:3.9.5-management 2 | -------------------------------------------------------------------------------- /flask-main/redis/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/redis/Dockerfile -------------------------------------------------------------------------------- /flask-main/redis/radis.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /flask-main/swagger/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/swagger/Dockerfile -------------------------------------------------------------------------------- /flask-main/swagger/swagger.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask-main/swagger/swagger.yml -------------------------------------------------------------------------------- /flask.code-workspace: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mtnbarreto/flask-base-api/HEAD/flask.code-workspace --------------------------------------------------------------------------------