├── .env ├── .gitignore ├── LICENSE ├── README.md ├── backend ├── .dockerignore ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── alembic.ini ├── app │ ├── __init__.py │ ├── alembic │ │ ├── README │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions │ │ │ └── .keep │ ├── api │ │ ├── __init__.py │ │ ├── deps.py │ │ ├── main.py │ │ └── routes │ │ │ ├── __init__.py │ │ │ ├── items.py │ │ │ ├── login.py │ │ │ ├── private.py │ │ │ ├── users.py │ │ │ └── utils.py │ ├── backend_pre_start.py │ ├── core │ │ ├── __init__.py │ │ ├── config.py │ │ ├── db.py │ │ └── security.py │ ├── crud.py │ ├── email-templates │ │ ├── build │ │ │ ├── new_account.html │ │ │ ├── reset_password.html │ │ │ └── test_email.html │ │ └── src │ │ │ ├── new_account.mjml │ │ │ ├── reset_password.mjml │ │ │ └── test_email.mjml │ ├── initial_data.py │ ├── main.py │ ├── models.py │ ├── tests_pre_start.py │ └── utils.py ├── pyproject.toml ├── scripts │ ├── format.sh │ ├── lint.sh │ ├── prestart.sh │ ├── test.sh │ └── tests-start.sh ├── tests │ ├── __init__.py │ ├── api │ │ ├── __init__.py │ │ └── routes │ │ │ ├── __init__.py │ │ │ ├── test_items.py │ │ │ ├── test_login.py │ │ │ ├── test_private.py │ │ │ └── test_users.py │ ├── conftest.py │ ├── crud │ │ ├── __init__.py │ │ └── test_user.py │ ├── scripts │ │ ├── __init__.py │ │ ├── test_backend_pre_start.py │ │ └── test_test_pre_start.py │ └── utils │ │ ├── __init__.py │ │ ├── item.py │ │ ├── user.py │ │ └── utils.py └── uv.lock ├── docker-compose.yml ├── frontend ├── .dockerignore ├── .env ├── .gitignore ├── .nvmrc ├── Dockerfile ├── Dockerfile.playwright ├── README.md ├── biome.json ├── index.html ├── nginx-backend-not-found.conf ├── nginx.conf ├── openapi-ts.config.ts ├── package-lock.json ├── package.json ├── playwright.config.ts ├── public │ └── assets │ │ └── images │ │ ├── fastapi-logo.svg │ │ └── favicon.png ├── src │ ├── client │ │ ├── core │ │ │ ├── ApiError.ts │ │ │ ├── ApiRequestOptions.ts │ │ │ ├── ApiResult.ts │ │ │ ├── CancelablePromise.ts │ │ │ ├── OpenAPI.ts │ │ │ └── request.ts │ │ ├── index.ts │ │ ├── schemas.gen.ts │ │ ├── sdk.gen.ts │ │ └── types.gen.ts │ ├── components │ │ ├── Admin │ │ │ ├── AddUser.tsx │ │ │ ├── DeleteUser.tsx │ │ │ └── EditUser.tsx │ │ ├── Common │ │ │ ├── ItemActionsMenu.tsx │ │ │ ├── Navbar.tsx │ │ │ ├── NotFound.tsx │ │ │ ├── Sidebar.tsx │ │ │ ├── SidebarItems.tsx │ │ │ ├── UserActionsMenu.tsx │ │ │ └── UserMenu.tsx │ │ ├── Items │ │ │ ├── AddItem.tsx │ │ │ ├── DeleteItem.tsx │ │ │ └── EditItem.tsx │ │ ├── Pending │ │ │ ├── PendingItems.tsx │ │ │ └── PendingUsers.tsx │ │ ├── UserSettings │ │ │ ├── Appearance.tsx │ │ │ ├── ChangePassword.tsx │ │ │ ├── DeleteAccount.tsx │ │ │ ├── DeleteConfirmation.tsx │ │ │ └── UserInformation.tsx │ │ └── ui │ │ │ ├── button.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── close-button.tsx │ │ │ ├── color-mode.tsx │ │ │ ├── dialog.tsx │ │ │ ├── drawer.tsx │ │ │ ├── field.tsx │ │ │ ├── input-group.tsx │ │ │ ├── link-button.tsx │ │ │ ├── menu.tsx │ │ │ ├── pagination.tsx │ │ │ ├── password-input.tsx │ │ │ ├── provider.tsx │ │ │ ├── radio.tsx │ │ │ ├── skeleton.tsx │ │ │ └── toaster.tsx │ ├── hooks │ │ ├── useAuth.ts │ │ └── useCustomToast.ts │ ├── main.tsx │ ├── routeTree.gen.ts │ ├── routes │ │ ├── __root.tsx │ │ ├── _layout.tsx │ │ ├── _layout │ │ │ ├── admin.tsx │ │ │ ├── index.tsx │ │ │ ├── items.tsx │ │ │ └── settings.tsx │ │ ├── login.tsx │ │ ├── recover-password.tsx │ │ ├── reset-password.tsx │ │ └── signup.tsx │ ├── theme.tsx │ ├── theme │ │ └── button.recipe.ts │ ├── utils.ts │ └── vite-env.d.ts ├── tests │ ├── auth.setup.ts │ ├── config.ts │ ├── login.spec.ts │ ├── reset-password.spec.ts │ ├── sign-up.spec.ts │ ├── user-settings.spec.ts │ └── utils │ │ ├── mailcatcher.ts │ │ ├── privateApi.ts │ │ ├── random.ts │ │ └── user.ts ├── tsconfig.build.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts ├── img ├── dashboard-create.png ├── dashboard-dark.png ├── dashboard-items.png ├── dashboard-user-settings.png ├── dashboard.png ├── docs.png ├── github-social-preview.png ├── github-social-preview.svg └── login.png └── scripts ├── build-push.sh ├── build.sh ├── deploy.sh ├── generate-client.sh ├── test-local.sh └── test.sh /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/.env -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/README.md -------------------------------------------------------------------------------- /backend/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/.dockerignore -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/.gitignore -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/Dockerfile -------------------------------------------------------------------------------- /backend/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/Makefile -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/README.md -------------------------------------------------------------------------------- /backend/alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/alembic.ini -------------------------------------------------------------------------------- /backend/app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/alembic/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. 2 | -------------------------------------------------------------------------------- /backend/app/alembic/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/alembic/env.py -------------------------------------------------------------------------------- /backend/app/alembic/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/alembic/script.py.mako -------------------------------------------------------------------------------- /backend/app/alembic/versions/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/api/deps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/deps.py -------------------------------------------------------------------------------- /backend/app/api/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/main.py -------------------------------------------------------------------------------- /backend/app/api/routes/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/api/routes/items.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/routes/items.py -------------------------------------------------------------------------------- /backend/app/api/routes/login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/routes/login.py -------------------------------------------------------------------------------- /backend/app/api/routes/private.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/routes/private.py -------------------------------------------------------------------------------- /backend/app/api/routes/users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/routes/users.py -------------------------------------------------------------------------------- /backend/app/api/routes/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/api/routes/utils.py -------------------------------------------------------------------------------- /backend/app/backend_pre_start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/backend_pre_start.py -------------------------------------------------------------------------------- /backend/app/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/app/core/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/core/config.py -------------------------------------------------------------------------------- /backend/app/core/db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/core/db.py -------------------------------------------------------------------------------- /backend/app/core/security.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/core/security.py -------------------------------------------------------------------------------- /backend/app/crud.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/crud.py -------------------------------------------------------------------------------- /backend/app/email-templates/build/new_account.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/build/new_account.html -------------------------------------------------------------------------------- /backend/app/email-templates/build/reset_password.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/build/reset_password.html -------------------------------------------------------------------------------- /backend/app/email-templates/build/test_email.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/build/test_email.html -------------------------------------------------------------------------------- /backend/app/email-templates/src/new_account.mjml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/src/new_account.mjml -------------------------------------------------------------------------------- /backend/app/email-templates/src/reset_password.mjml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/src/reset_password.mjml -------------------------------------------------------------------------------- /backend/app/email-templates/src/test_email.mjml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/email-templates/src/test_email.mjml -------------------------------------------------------------------------------- /backend/app/initial_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/initial_data.py -------------------------------------------------------------------------------- /backend/app/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/main.py -------------------------------------------------------------------------------- /backend/app/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/models.py -------------------------------------------------------------------------------- /backend/app/tests_pre_start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/tests_pre_start.py -------------------------------------------------------------------------------- /backend/app/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/app/utils.py -------------------------------------------------------------------------------- /backend/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/pyproject.toml -------------------------------------------------------------------------------- /backend/scripts/format.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/scripts/format.sh -------------------------------------------------------------------------------- /backend/scripts/lint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/scripts/lint.sh -------------------------------------------------------------------------------- /backend/scripts/prestart.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/scripts/prestart.sh -------------------------------------------------------------------------------- /backend/scripts/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/scripts/test.sh -------------------------------------------------------------------------------- /backend/scripts/tests-start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/scripts/tests-start.sh -------------------------------------------------------------------------------- /backend/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/api/routes/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/api/routes/test_items.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/api/routes/test_items.py -------------------------------------------------------------------------------- /backend/tests/api/routes/test_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/api/routes/test_login.py -------------------------------------------------------------------------------- /backend/tests/api/routes/test_private.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/api/routes/test_private.py -------------------------------------------------------------------------------- /backend/tests/api/routes/test_users.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/api/routes/test_users.py -------------------------------------------------------------------------------- /backend/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/conftest.py -------------------------------------------------------------------------------- /backend/tests/crud/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/crud/test_user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/crud/test_user.py -------------------------------------------------------------------------------- /backend/tests/scripts/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/scripts/test_backend_pre_start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/scripts/test_backend_pre_start.py -------------------------------------------------------------------------------- /backend/tests/scripts/test_test_pre_start.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/scripts/test_test_pre_start.py -------------------------------------------------------------------------------- /backend/tests/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/tests/utils/item.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/utils/item.py -------------------------------------------------------------------------------- /backend/tests/utils/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/utils/user.py -------------------------------------------------------------------------------- /backend/tests/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/tests/utils/utils.py -------------------------------------------------------------------------------- /backend/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/backend/uv.lock -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /frontend/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | -------------------------------------------------------------------------------- /frontend/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/.env -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/.nvmrc: -------------------------------------------------------------------------------- 1 | 24 2 | -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/Dockerfile -------------------------------------------------------------------------------- /frontend/Dockerfile.playwright: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/Dockerfile.playwright -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/biome.json -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/index.html -------------------------------------------------------------------------------- /frontend/nginx-backend-not-found.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/nginx-backend-not-found.conf -------------------------------------------------------------------------------- /frontend/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/nginx.conf -------------------------------------------------------------------------------- /frontend/openapi-ts.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/openapi-ts.config.ts -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/playwright.config.ts -------------------------------------------------------------------------------- /frontend/public/assets/images/fastapi-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/public/assets/images/fastapi-logo.svg -------------------------------------------------------------------------------- /frontend/public/assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/public/assets/images/favicon.png -------------------------------------------------------------------------------- /frontend/src/client/core/ApiError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/ApiError.ts -------------------------------------------------------------------------------- /frontend/src/client/core/ApiRequestOptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/ApiRequestOptions.ts -------------------------------------------------------------------------------- /frontend/src/client/core/ApiResult.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/ApiResult.ts -------------------------------------------------------------------------------- /frontend/src/client/core/CancelablePromise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/CancelablePromise.ts -------------------------------------------------------------------------------- /frontend/src/client/core/OpenAPI.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/OpenAPI.ts -------------------------------------------------------------------------------- /frontend/src/client/core/request.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/core/request.ts -------------------------------------------------------------------------------- /frontend/src/client/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/index.ts -------------------------------------------------------------------------------- /frontend/src/client/schemas.gen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/schemas.gen.ts -------------------------------------------------------------------------------- /frontend/src/client/sdk.gen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/sdk.gen.ts -------------------------------------------------------------------------------- /frontend/src/client/types.gen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/client/types.gen.ts -------------------------------------------------------------------------------- /frontend/src/components/Admin/AddUser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Admin/AddUser.tsx -------------------------------------------------------------------------------- /frontend/src/components/Admin/DeleteUser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Admin/DeleteUser.tsx -------------------------------------------------------------------------------- /frontend/src/components/Admin/EditUser.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Admin/EditUser.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/ItemActionsMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/ItemActionsMenu.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/Navbar.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/NotFound.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/NotFound.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/Sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/Sidebar.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/SidebarItems.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/SidebarItems.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/UserActionsMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/UserActionsMenu.tsx -------------------------------------------------------------------------------- /frontend/src/components/Common/UserMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Common/UserMenu.tsx -------------------------------------------------------------------------------- /frontend/src/components/Items/AddItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Items/AddItem.tsx -------------------------------------------------------------------------------- /frontend/src/components/Items/DeleteItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Items/DeleteItem.tsx -------------------------------------------------------------------------------- /frontend/src/components/Items/EditItem.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Items/EditItem.tsx -------------------------------------------------------------------------------- /frontend/src/components/Pending/PendingItems.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Pending/PendingItems.tsx -------------------------------------------------------------------------------- /frontend/src/components/Pending/PendingUsers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/Pending/PendingUsers.tsx -------------------------------------------------------------------------------- /frontend/src/components/UserSettings/Appearance.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/UserSettings/Appearance.tsx -------------------------------------------------------------------------------- /frontend/src/components/UserSettings/ChangePassword.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/UserSettings/ChangePassword.tsx -------------------------------------------------------------------------------- /frontend/src/components/UserSettings/DeleteAccount.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/UserSettings/DeleteAccount.tsx -------------------------------------------------------------------------------- /frontend/src/components/UserSettings/DeleteConfirmation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/UserSettings/DeleteConfirmation.tsx -------------------------------------------------------------------------------- /frontend/src/components/UserSettings/UserInformation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/UserSettings/UserInformation.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/button.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/checkbox.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/close-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/close-button.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/color-mode.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/color-mode.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/drawer.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/field.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/field.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/input-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/input-group.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/link-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/link-button.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/menu.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/pagination.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/pagination.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/password-input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/password-input.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/provider.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/radio.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/radio.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /frontend/src/components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/components/ui/toaster.tsx -------------------------------------------------------------------------------- /frontend/src/hooks/useAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/hooks/useAuth.ts -------------------------------------------------------------------------------- /frontend/src/hooks/useCustomToast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/hooks/useCustomToast.ts -------------------------------------------------------------------------------- /frontend/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/main.tsx -------------------------------------------------------------------------------- /frontend/src/routeTree.gen.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routeTree.gen.ts -------------------------------------------------------------------------------- /frontend/src/routes/__root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/__root.tsx -------------------------------------------------------------------------------- /frontend/src/routes/_layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/_layout.tsx -------------------------------------------------------------------------------- /frontend/src/routes/_layout/admin.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/_layout/admin.tsx -------------------------------------------------------------------------------- /frontend/src/routes/_layout/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/_layout/index.tsx -------------------------------------------------------------------------------- /frontend/src/routes/_layout/items.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/_layout/items.tsx -------------------------------------------------------------------------------- /frontend/src/routes/_layout/settings.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/_layout/settings.tsx -------------------------------------------------------------------------------- /frontend/src/routes/login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/login.tsx -------------------------------------------------------------------------------- /frontend/src/routes/recover-password.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/recover-password.tsx -------------------------------------------------------------------------------- /frontend/src/routes/reset-password.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/reset-password.tsx -------------------------------------------------------------------------------- /frontend/src/routes/signup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/routes/signup.tsx -------------------------------------------------------------------------------- /frontend/src/theme.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/theme.tsx -------------------------------------------------------------------------------- /frontend/src/theme/button.recipe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/theme/button.recipe.ts -------------------------------------------------------------------------------- /frontend/src/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/utils.ts -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/src/vite-env.d.ts -------------------------------------------------------------------------------- /frontend/tests/auth.setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/auth.setup.ts -------------------------------------------------------------------------------- /frontend/tests/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/config.ts -------------------------------------------------------------------------------- /frontend/tests/login.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/login.spec.ts -------------------------------------------------------------------------------- /frontend/tests/reset-password.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/reset-password.spec.ts -------------------------------------------------------------------------------- /frontend/tests/sign-up.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/sign-up.spec.ts -------------------------------------------------------------------------------- /frontend/tests/user-settings.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/user-settings.spec.ts -------------------------------------------------------------------------------- /frontend/tests/utils/mailcatcher.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/utils/mailcatcher.ts -------------------------------------------------------------------------------- /frontend/tests/utils/privateApi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/utils/privateApi.ts -------------------------------------------------------------------------------- /frontend/tests/utils/random.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/utils/random.ts -------------------------------------------------------------------------------- /frontend/tests/utils/user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tests/utils/user.ts -------------------------------------------------------------------------------- /frontend/tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tsconfig.build.json -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /frontend/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/frontend/vite.config.ts -------------------------------------------------------------------------------- /img/dashboard-create.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/dashboard-create.png -------------------------------------------------------------------------------- /img/dashboard-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/dashboard-dark.png -------------------------------------------------------------------------------- /img/dashboard-items.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/dashboard-items.png -------------------------------------------------------------------------------- /img/dashboard-user-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/dashboard-user-settings.png -------------------------------------------------------------------------------- /img/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/dashboard.png -------------------------------------------------------------------------------- /img/docs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/docs.png -------------------------------------------------------------------------------- /img/github-social-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/github-social-preview.png -------------------------------------------------------------------------------- /img/github-social-preview.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/github-social-preview.svg -------------------------------------------------------------------------------- /img/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/img/login.png -------------------------------------------------------------------------------- /scripts/build-push.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/build-push.sh -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/build.sh -------------------------------------------------------------------------------- /scripts/deploy.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/deploy.sh -------------------------------------------------------------------------------- /scripts/generate-client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/generate-client.sh -------------------------------------------------------------------------------- /scripts/test-local.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/test-local.sh -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vuongtlt13/full-stack-fastapi-mysql/HEAD/scripts/test.sh --------------------------------------------------------------------------------