├── .dockerignore ├── .gitignore ├── Dockerfile ├── alembic.ini ├── docker-compose.yml ├── env.example ├── migrations ├── README ├── env.py ├── script.py.mako └── versions │ ├── .gitkeep │ ├── 01_b11f147413e8_test.py │ └── 02_675a2fb1ef50_test2.py ├── pyproject.toml ├── requirements.txt └── src ├── __init__.py ├── __main__.py ├── api ├── __init__.py ├── common │ ├── __init__.py │ ├── cache │ │ ├── __init__.py │ │ └── redis.py │ ├── docs.py │ ├── exceptions.py │ ├── middlewares │ │ ├── __init__.py │ │ └── process_time.py │ ├── providers │ │ ├── __init__.py │ │ └── stub.py │ └── responses │ │ ├── __init__.py │ │ ├── json.py │ │ └── orjson.py ├── setup.py └── v1 │ ├── __init__.py │ ├── dependencies.py │ ├── endpoints │ ├── __init__.py │ ├── auth.py │ ├── healthcheck.py │ └── user.py │ ├── handlers │ ├── __init__.py │ ├── auth.py │ ├── commands │ │ ├── __init__.py │ │ ├── base.py │ │ ├── mediator.py │ │ ├── setup.py │ │ └── user │ │ │ ├── __init__.py │ │ │ ├── create.py │ │ │ └── select.py │ └── login.py │ ├── middlewares │ └── __init__.py │ └── setup.py ├── common ├── __init__.py ├── dto │ ├── __init__.py │ ├── base.py │ ├── status.py │ ├── token.py │ └── user.py ├── exceptions.py ├── interfaces │ ├── __init__.py │ ├── context.py │ ├── crud.py │ ├── encrypt.py │ ├── gateway.py │ └── hasher.py ├── serializers │ ├── __init__.py │ ├── default.py │ ├── json.py │ └── orjson.py └── types.py ├── core ├── __init__.py ├── gunicorn_server.py ├── logger.py ├── settings.py └── uvicorn_server.py ├── database ├── __init__.py ├── converter.py ├── core │ ├── __init__.py │ ├── connection.py │ └── manager.py ├── exceptions.py ├── gateway.py ├── models │ ├── __init__.py │ ├── base │ │ ├── __init__.py │ │ ├── core.py │ │ └── mixins │ │ │ ├── __init__.py │ │ │ ├── with_id.py │ │ │ ├── with_time.py │ │ │ └── with_uuid.py │ └── user.py ├── repositories │ ├── __init__.py │ ├── base.py │ ├── crud.py │ ├── types │ │ ├── __init__.py │ │ ├── repository.py │ │ └── user.py │ └── user.py └── tools.py └── services ├── __init__.py ├── gateway.py ├── security ├── __init__.py ├── argon2.py └── jwt.py └── user.py /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/.gitignore -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/Dockerfile -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/alembic.ini -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/env.example -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/migrations/README -------------------------------------------------------------------------------- /migrations/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/migrations/env.py -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/migrations/script.py.mako -------------------------------------------------------------------------------- /migrations/versions/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /migrations/versions/01_b11f147413e8_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/migrations/versions/01_b11f147413e8_test.py -------------------------------------------------------------------------------- /migrations/versions/02_675a2fb1ef50_test2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/migrations/versions/02_675a2fb1ef50_test2.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/requirements.txt -------------------------------------------------------------------------------- /src/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/__main__.py -------------------------------------------------------------------------------- /src/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/common/cache/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/common/cache/redis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/cache/redis.py -------------------------------------------------------------------------------- /src/api/common/docs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/docs.py -------------------------------------------------------------------------------- /src/api/common/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/exceptions.py -------------------------------------------------------------------------------- /src/api/common/middlewares/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/middlewares/__init__.py -------------------------------------------------------------------------------- /src/api/common/middlewares/process_time.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/middlewares/process_time.py -------------------------------------------------------------------------------- /src/api/common/providers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/providers/__init__.py -------------------------------------------------------------------------------- /src/api/common/providers/stub.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/providers/stub.py -------------------------------------------------------------------------------- /src/api/common/responses/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/responses/__init__.py -------------------------------------------------------------------------------- /src/api/common/responses/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/responses/json.py -------------------------------------------------------------------------------- /src/api/common/responses/orjson.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/common/responses/orjson.py -------------------------------------------------------------------------------- /src/api/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/setup.py -------------------------------------------------------------------------------- /src/api/v1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/v1/dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/dependencies.py -------------------------------------------------------------------------------- /src/api/v1/endpoints/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/endpoints/__init__.py -------------------------------------------------------------------------------- /src/api/v1/endpoints/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/endpoints/auth.py -------------------------------------------------------------------------------- /src/api/v1/endpoints/healthcheck.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/endpoints/healthcheck.py -------------------------------------------------------------------------------- /src/api/v1/endpoints/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/endpoints/user.py -------------------------------------------------------------------------------- /src/api/v1/handlers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/v1/handlers/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/auth.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/__init__.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/base.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/mediator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/mediator.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/setup.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/user/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/user/__init__.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/user/create.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/user/create.py -------------------------------------------------------------------------------- /src/api/v1/handlers/commands/user/select.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/commands/user/select.py -------------------------------------------------------------------------------- /src/api/v1/handlers/login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/handlers/login.py -------------------------------------------------------------------------------- /src/api/v1/middlewares/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/api/v1/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/api/v1/setup.py -------------------------------------------------------------------------------- /src/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/dto/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/dto/__init__.py -------------------------------------------------------------------------------- /src/common/dto/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/dto/base.py -------------------------------------------------------------------------------- /src/common/dto/status.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/dto/status.py -------------------------------------------------------------------------------- /src/common/dto/token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/dto/token.py -------------------------------------------------------------------------------- /src/common/dto/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/dto/user.py -------------------------------------------------------------------------------- /src/common/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/exceptions.py -------------------------------------------------------------------------------- /src/common/interfaces/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/interfaces/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/interfaces/context.py -------------------------------------------------------------------------------- /src/common/interfaces/crud.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/interfaces/crud.py -------------------------------------------------------------------------------- /src/common/interfaces/encrypt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/interfaces/encrypt.py -------------------------------------------------------------------------------- /src/common/interfaces/gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/interfaces/gateway.py -------------------------------------------------------------------------------- /src/common/interfaces/hasher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/interfaces/hasher.py -------------------------------------------------------------------------------- /src/common/serializers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/common/serializers/default.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/serializers/default.py -------------------------------------------------------------------------------- /src/common/serializers/json.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/serializers/json.py -------------------------------------------------------------------------------- /src/common/serializers/orjson.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/serializers/orjson.py -------------------------------------------------------------------------------- /src/common/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/common/types.py -------------------------------------------------------------------------------- /src/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/gunicorn_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/core/gunicorn_server.py -------------------------------------------------------------------------------- /src/core/logger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/core/logger.py -------------------------------------------------------------------------------- /src/core/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/core/settings.py -------------------------------------------------------------------------------- /src/core/uvicorn_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/core/uvicorn_server.py -------------------------------------------------------------------------------- /src/database/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/__init__.py -------------------------------------------------------------------------------- /src/database/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/converter.py -------------------------------------------------------------------------------- /src/database/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/database/core/connection.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/core/connection.py -------------------------------------------------------------------------------- /src/database/core/manager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/core/manager.py -------------------------------------------------------------------------------- /src/database/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/exceptions.py -------------------------------------------------------------------------------- /src/database/gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/gateway.py -------------------------------------------------------------------------------- /src/database/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/__init__.py -------------------------------------------------------------------------------- /src/database/models/base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/__init__.py -------------------------------------------------------------------------------- /src/database/models/base/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/core.py -------------------------------------------------------------------------------- /src/database/models/base/mixins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/mixins/__init__.py -------------------------------------------------------------------------------- /src/database/models/base/mixins/with_id.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/mixins/with_id.py -------------------------------------------------------------------------------- /src/database/models/base/mixins/with_time.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/mixins/with_time.py -------------------------------------------------------------------------------- /src/database/models/base/mixins/with_uuid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/base/mixins/with_uuid.py -------------------------------------------------------------------------------- /src/database/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/models/user.py -------------------------------------------------------------------------------- /src/database/repositories/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/__init__.py -------------------------------------------------------------------------------- /src/database/repositories/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/base.py -------------------------------------------------------------------------------- /src/database/repositories/crud.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/crud.py -------------------------------------------------------------------------------- /src/database/repositories/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/types/__init__.py -------------------------------------------------------------------------------- /src/database/repositories/types/repository.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/types/repository.py -------------------------------------------------------------------------------- /src/database/repositories/types/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/types/user.py -------------------------------------------------------------------------------- /src/database/repositories/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/repositories/user.py -------------------------------------------------------------------------------- /src/database/tools.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/database/tools.py -------------------------------------------------------------------------------- /src/services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/services/__init__.py -------------------------------------------------------------------------------- /src/services/gateway.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/services/gateway.py -------------------------------------------------------------------------------- /src/services/security/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/services/security/argon2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/services/security/argon2.py -------------------------------------------------------------------------------- /src/services/security/jwt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/services/security/jwt.py -------------------------------------------------------------------------------- /src/services/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hpphpro/fastapi_api_example/HEAD/src/services/user.py --------------------------------------------------------------------------------