├── .dockerignore ├── .env.example ├── .github ├── dependabot.yml └── workflows │ ├── lint_python.yml │ └── testing.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .vscode ├── launch.json └── settings.json ├── Dockerfile ├── Dockerfile.dev ├── README.md ├── alembic.ini ├── app ├── __init__.py ├── alembic │ ├── README │ ├── env.py │ ├── script.py.mako │ └── versions │ │ ├── 9337a241a3cc_init_db.py │ │ └── ba7f94858bd1_add_credit_card.py ├── api │ ├── __init__.py │ ├── api_v1 │ │ ├── __init__.py │ │ ├── api.py │ │ └── endpoints │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── credit_card.py │ │ │ ├── posts.py │ │ │ ├── users.py │ │ │ └── votes.py │ ├── default_responses.py │ ├── deps.py │ └── health.py ├── core │ ├── __init__.py │ ├── config.py │ └── oauth.py ├── db │ └── database.py ├── logger.py ├── main.py ├── middlewares │ ├── __init__.py │ └── process_time.py ├── models │ ├── __init__.py │ ├── encrypted.py │ ├── mixin.py │ ├── post.py │ ├── user.py │ └── vote.py ├── schemas │ ├── __init__.py │ ├── health.py │ ├── helpers.py │ ├── post.py │ ├── token.py │ ├── user.py │ └── vote.py ├── tests │ ├── __init__.py │ ├── conftest.py │ ├── test_auth.py │ ├── test_credit_card.py │ ├── test_health.py │ ├── test_posts.py │ ├── test_users.py │ ├── test_votes.py │ └── unit │ │ ├── core │ │ └── test_oauth.py │ │ └── db │ │ └── test_database.py └── utils │ ├── __init__.py │ └── security.py ├── compose.yaml ├── generate_key.py ├── pyproject.toml ├── requirements-dev.txt ├── requirements.txt └── scripts ├── coverage.sh ├── format.sh ├── lint.sh ├── start.sh └── test.sh /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.env.example -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/lint_python.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.github/workflows/lint_python.yml -------------------------------------------------------------------------------- /.github/workflows/testing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.github/workflows/testing.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerfile.dev: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/Dockerfile.dev -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/README.md -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/alembic.ini -------------------------------------------------------------------------------- /app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/alembic/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /app/alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/alembic/env.py -------------------------------------------------------------------------------- /app/alembic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/alembic/script.py.mako -------------------------------------------------------------------------------- /app/alembic/versions/9337a241a3cc_init_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/alembic/versions/9337a241a3cc_init_db.py -------------------------------------------------------------------------------- /app/alembic/versions/ba7f94858bd1_add_credit_card.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/alembic/versions/ba7f94858bd1_add_credit_card.py -------------------------------------------------------------------------------- /app/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/api/api_v1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/api/api_v1/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/api.py -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/endpoints/auth.py -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/credit_card.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/endpoints/credit_card.py -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/posts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/endpoints/posts.py -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/endpoints/users.py -------------------------------------------------------------------------------- /app/api/api_v1/endpoints/votes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/api_v1/endpoints/votes.py -------------------------------------------------------------------------------- /app/api/default_responses.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/default_responses.py -------------------------------------------------------------------------------- /app/api/deps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/deps.py -------------------------------------------------------------------------------- /app/api/health.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/api/health.py -------------------------------------------------------------------------------- /app/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/core/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/core/config.py -------------------------------------------------------------------------------- /app/core/oauth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/core/oauth.py -------------------------------------------------------------------------------- /app/db/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/db/database.py -------------------------------------------------------------------------------- /app/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/logger.py -------------------------------------------------------------------------------- /app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/main.py -------------------------------------------------------------------------------- /app/middlewares/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/middlewares/__init__.py -------------------------------------------------------------------------------- /app/middlewares/process_time.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/middlewares/process_time.py -------------------------------------------------------------------------------- /app/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/__init__.py -------------------------------------------------------------------------------- /app/models/encrypted.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/encrypted.py -------------------------------------------------------------------------------- /app/models/mixin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/mixin.py -------------------------------------------------------------------------------- /app/models/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/post.py -------------------------------------------------------------------------------- /app/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/user.py -------------------------------------------------------------------------------- /app/models/vote.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/models/vote.py -------------------------------------------------------------------------------- /app/schemas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/__init__.py -------------------------------------------------------------------------------- /app/schemas/health.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/health.py -------------------------------------------------------------------------------- /app/schemas/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/helpers.py -------------------------------------------------------------------------------- /app/schemas/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/post.py -------------------------------------------------------------------------------- /app/schemas/token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/token.py -------------------------------------------------------------------------------- /app/schemas/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/user.py -------------------------------------------------------------------------------- /app/schemas/vote.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/schemas/vote.py -------------------------------------------------------------------------------- /app/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/conftest.py -------------------------------------------------------------------------------- /app/tests/test_auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_auth.py -------------------------------------------------------------------------------- /app/tests/test_credit_card.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_credit_card.py -------------------------------------------------------------------------------- /app/tests/test_health.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_health.py -------------------------------------------------------------------------------- /app/tests/test_posts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_posts.py -------------------------------------------------------------------------------- /app/tests/test_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_users.py -------------------------------------------------------------------------------- /app/tests/test_votes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/test_votes.py -------------------------------------------------------------------------------- /app/tests/unit/core/test_oauth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/unit/core/test_oauth.py -------------------------------------------------------------------------------- /app/tests/unit/db/test_database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/tests/unit/db/test_database.py -------------------------------------------------------------------------------- /app/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/utils/__init__.py -------------------------------------------------------------------------------- /app/utils/security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/app/utils/security.py -------------------------------------------------------------------------------- /compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/compose.yaml -------------------------------------------------------------------------------- /generate_key.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/generate_key.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/requirements-dev.txt -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/coverage.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/scripts/coverage.sh -------------------------------------------------------------------------------- /scripts/format.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/scripts/format.sh -------------------------------------------------------------------------------- /scripts/lint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/scripts/lint.sh -------------------------------------------------------------------------------- /scripts/start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/scripts/start.sh -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ezeparziale/fastapi-api-template/HEAD/scripts/test.sh --------------------------------------------------------------------------------