├── .env.sample ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml └── workflows │ └── code_test.yaml ├── .gitignore ├── CONTRIBUTIONS.md ├── LICENSE ├── README.md ├── __init__.py ├── alembic.ini ├── alembic ├── README ├── env.py ├── script.py.mako └── versions │ └── .gitkeep ├── api ├── __init__.py └── v1 │ ├── models │ ├── __init__.py │ ├── abstract_base.py │ ├── access_token.py │ ├── cover_photo.py │ ├── hashtag.py │ ├── notification.py │ ├── post.py │ ├── post_comment.py │ ├── profile_picture.py │ ├── social_link.py │ └── user.py │ ├── responses │ ├── __init__.py │ ├── error_responses.py │ └── success_response.py │ ├── routes │ ├── __init__.py │ ├── auth.py │ ├── notification.py │ ├── post.py │ ├── post_comment.py │ └── user.py │ ├── schemas │ ├── __init__.py │ ├── post.py │ ├── post_comment.py │ ├── profile_picture.py │ └── user.py │ ├── services │ ├── __init__.py │ ├── notification.py │ ├── post.py │ ├── post_comment.py │ └── user.py │ ├── tests │ ├── __init__.py │ ├── auth │ │ ├── test_user_login.py │ │ ├── test_user_logout.py │ │ └── test_user_registration_endpoint.py │ ├── conftest.py │ ├── notification │ │ ├── conftest.py │ │ └── test_get_notifications.py │ ├── post │ │ ├── conftest.py │ │ ├── test_create_post.py │ │ ├── test_delete_post.py │ │ ├── test_get_feeds.py │ │ ├── test_post_like.py │ │ ├── test_repost.py │ │ └── test_update_post.py │ ├── post_comment │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_create_comment.py │ │ ├── test_delete_comment.py │ │ ├── test_get_comments.py │ │ └── test_update_comment.py │ ├── test_root.py │ └── user │ │ ├── conftest.py │ │ ├── test_delete_user.py │ │ ├── test_follow_user.py │ │ ├── test_followers_followings.py │ │ ├── test_get_users.py │ │ ├── test_update_user.py │ │ └── test_user_detail.py │ └── utils │ ├── __init__.py │ ├── database.py │ ├── dependencies.py │ ├── storage.py │ └── websocket.py ├── database.dbml ├── main.py ├── requirements.txt ├── test.sh └── vercel.json /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.env.sample -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/code_test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.github/workflows/code_test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/.gitignore -------------------------------------------------------------------------------- /CONTRIBUTIONS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/CONTRIBUTIONS.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/README.md -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/alembic.ini -------------------------------------------------------------------------------- /alembic/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/alembic/env.py -------------------------------------------------------------------------------- /alembic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/alembic/script.py.mako -------------------------------------------------------------------------------- /alembic/versions/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/__init__.py -------------------------------------------------------------------------------- /api/v1/models/abstract_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/abstract_base.py -------------------------------------------------------------------------------- /api/v1/models/access_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/access_token.py -------------------------------------------------------------------------------- /api/v1/models/cover_photo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/cover_photo.py -------------------------------------------------------------------------------- /api/v1/models/hashtag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/hashtag.py -------------------------------------------------------------------------------- /api/v1/models/notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/notification.py -------------------------------------------------------------------------------- /api/v1/models/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/post.py -------------------------------------------------------------------------------- /api/v1/models/post_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/post_comment.py -------------------------------------------------------------------------------- /api/v1/models/profile_picture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/profile_picture.py -------------------------------------------------------------------------------- /api/v1/models/social_link.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/social_link.py -------------------------------------------------------------------------------- /api/v1/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/models/user.py -------------------------------------------------------------------------------- /api/v1/responses/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/responses/error_responses.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/responses/error_responses.py -------------------------------------------------------------------------------- /api/v1/responses/success_response.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/responses/success_response.py -------------------------------------------------------------------------------- /api/v1/routes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/__init__.py -------------------------------------------------------------------------------- /api/v1/routes/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/auth.py -------------------------------------------------------------------------------- /api/v1/routes/notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/notification.py -------------------------------------------------------------------------------- /api/v1/routes/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/post.py -------------------------------------------------------------------------------- /api/v1/routes/post_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/post_comment.py -------------------------------------------------------------------------------- /api/v1/routes/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/routes/user.py -------------------------------------------------------------------------------- /api/v1/schemas/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/schemas/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/schemas/post.py -------------------------------------------------------------------------------- /api/v1/schemas/post_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/schemas/post_comment.py -------------------------------------------------------------------------------- /api/v1/schemas/profile_picture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/schemas/profile_picture.py -------------------------------------------------------------------------------- /api/v1/schemas/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/schemas/user.py -------------------------------------------------------------------------------- /api/v1/services/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/services/notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/services/notification.py -------------------------------------------------------------------------------- /api/v1/services/post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/services/post.py -------------------------------------------------------------------------------- /api/v1/services/post_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/services/post_comment.py -------------------------------------------------------------------------------- /api/v1/services/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/services/user.py -------------------------------------------------------------------------------- /api/v1/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/tests/auth/test_user_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/auth/test_user_login.py -------------------------------------------------------------------------------- /api/v1/tests/auth/test_user_logout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/auth/test_user_logout.py -------------------------------------------------------------------------------- /api/v1/tests/auth/test_user_registration_endpoint.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/auth/test_user_registration_endpoint.py -------------------------------------------------------------------------------- /api/v1/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/conftest.py -------------------------------------------------------------------------------- /api/v1/tests/notification/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/notification/conftest.py -------------------------------------------------------------------------------- /api/v1/tests/notification/test_get_notifications.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/notification/test_get_notifications.py -------------------------------------------------------------------------------- /api/v1/tests/post/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/conftest.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_create_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_create_post.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_delete_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_delete_post.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_get_feeds.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_get_feeds.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_post_like.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_post_like.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_repost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_repost.py -------------------------------------------------------------------------------- /api/v1/tests/post/test_update_post.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post/test_update_post.py -------------------------------------------------------------------------------- /api/v1/tests/post_comment/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/tests/post_comment/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post_comment/conftest.py -------------------------------------------------------------------------------- /api/v1/tests/post_comment/test_create_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post_comment/test_create_comment.py -------------------------------------------------------------------------------- /api/v1/tests/post_comment/test_delete_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post_comment/test_delete_comment.py -------------------------------------------------------------------------------- /api/v1/tests/post_comment/test_get_comments.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post_comment/test_get_comments.py -------------------------------------------------------------------------------- /api/v1/tests/post_comment/test_update_comment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/post_comment/test_update_comment.py -------------------------------------------------------------------------------- /api/v1/tests/test_root.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/test_root.py -------------------------------------------------------------------------------- /api/v1/tests/user/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/conftest.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_delete_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_delete_user.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_follow_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_follow_user.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_followers_followings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_followers_followings.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_get_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_get_users.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_update_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_update_user.py -------------------------------------------------------------------------------- /api/v1/tests/user/test_user_detail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/tests/user/test_user_detail.py -------------------------------------------------------------------------------- /api/v1/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /api/v1/utils/database.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/utils/database.py -------------------------------------------------------------------------------- /api/v1/utils/dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/utils/dependencies.py -------------------------------------------------------------------------------- /api/v1/utils/storage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/utils/storage.py -------------------------------------------------------------------------------- /api/v1/utils/websocket.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/api/v1/utils/websocket.py -------------------------------------------------------------------------------- /database.dbml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/database.dbml -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/main.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/requirements.txt -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | sh -c "pytest --disable-warnings -vv" > test.log -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codewitgabi/full-featured-social-media-application-fastapi/HEAD/vercel.json --------------------------------------------------------------------------------