├── .dockerignore ├── .editorconfig ├── .env.sample ├── .env.test ├── .github ├── actions │ ├── setup-db │ │ └── action.yml │ └── setup-node │ │ └── action.yml └── workflows │ ├── ci.yml │ ├── claude-code-review.yml │ ├── claude.yml │ ├── internal.yml │ ├── site.yml │ └── update-internal-e2e.yml ├── .gitignore ├── .internal ├── .gitignore ├── README.md ├── create-app-foundation │ ├── README.md │ ├── package.json │ ├── pnpm-lock.yaml │ └── src │ │ ├── git.mjs │ │ └── index.mjs ├── setup │ ├── code │ │ ├── app-(public)-page.tsx │ │ └── app-layout.tsx │ ├── common-processing.mjs │ ├── db.mjs │ ├── format.mjs │ ├── init.mjs │ ├── package-json.mjs │ ├── questions │ │ ├── docker.mjs │ │ ├── e2e.mjs │ │ ├── index.mjs │ │ ├── otel.mjs │ │ ├── sample-code.mjs │ │ └── stripe.mjs │ └── utils.mjs ├── site │ ├── .vitepress │ │ └── config.mts │ ├── package-lock.json │ ├── package.json │ └── src │ │ ├── features │ │ ├── code-quality-automation.md │ │ ├── e2e-testing.md │ │ ├── next-auth.md │ │ ├── nextjs.md │ │ ├── observability.md │ │ ├── prisma.md │ │ ├── stripe.md │ │ └── unit-testing.md │ │ ├── index.md │ │ ├── introduction │ │ ├── challenges-solved.md │ │ ├── dotenv.md │ │ ├── getting-started.md │ │ ├── routing.md │ │ ├── tasks.md │ │ └── what-is-web-app-template.md │ │ └── public │ │ ├── favicon.ico │ │ └── images │ │ ├── icon.png │ │ ├── libs │ │ ├── biome.png │ │ ├── copilot.png │ │ ├── docker.png │ │ ├── editorconfig.png │ │ ├── github-actions.png │ │ ├── knip.png │ │ ├── lefthook.png │ │ ├── next-auth.png │ │ ├── nextjs.png │ │ ├── otel.png │ │ ├── playwright.png │ │ ├── pnpm.svg │ │ ├── postgresql.png │ │ ├── prettier.png │ │ ├── prisma.png │ │ ├── react-hook-form.png │ │ ├── renovate.png │ │ ├── stripe.png │ │ ├── tailwind.png │ │ ├── testcontainers.png │ │ ├── testing-library.png │ │ ├── typescript.png │ │ ├── vitest.png │ │ ├── vscode.png │ │ └── zod.svg │ │ ├── mermaid │ │ ├── stripe-cancel-flow.png │ │ ├── stripe-checkout-flow.png │ │ └── stripe-webhook-flow.png │ │ └── otel │ │ ├── query.png │ │ └── root-metric.png └── tests │ ├── Basetest.mjs │ ├── all-opt-out.test.mjs │ ├── common.test.mjs │ ├── common.test.mjs.snapshot │ ├── makefile │ ├── no-docker.test.mjs │ ├── no-docker.test.mjs.snapshot │ ├── no-e2e.test.mjs │ ├── no-e2e.test.mjs.snapshot │ ├── no-otel.test.mjs │ ├── no-otel.test.mjs.snapshot │ ├── no-sample-code.test.mjs │ ├── no-sample-code.test.mjs.snapshot │ ├── no-stripe.test.mjs │ └── no-stripe.test.mjs.snapshot ├── .node-version ├── .npmrc ├── .vscode ├── extensions.json ├── mcp.json └── settings.json ├── Dockerfile ├── LICENSE ├── README.md ├── biome.json ├── compose.yml ├── e2e ├── a11y │ ├── itemPage.test.ts │ ├── mePage.test.ts │ ├── notFoundPage.test.ts │ ├── signInPage.test.ts │ └── topPage.test.ts ├── dummyUsers.ts ├── fixtures.ts ├── helpers │ ├── app.ts │ ├── getRandomPort.ts │ ├── prisma.ts │ ├── users.ts │ └── waitForHealth.ts ├── integrations │ ├── auth.test.ts │ ├── item.test.ts │ └── user.test.ts ├── models │ ├── Base.ts │ ├── ItemPage.ts │ ├── MePage.ts │ ├── NotFoundPage.ts │ ├── SignInPage.ts │ └── TopPage.ts └── setup │ └── auth.ts ├── env.ts ├── knip.config.ts ├── lefthook.yml ├── next.config.ts ├── otel-collector-config.yml ├── package.json ├── playwright.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── postcss.config.mjs ├── prisma.config.ts ├── prisma └── schema │ ├── item.prisma │ ├── schema.prisma │ └── user.prisma ├── public └── .gitkeep ├── renovate.json ├── src ├── app │ ├── (private) │ │ ├── layout.tsx │ │ └── me │ │ │ ├── _components │ │ │ └── UpdateMyInfo.tsx │ │ │ ├── page.tsx │ │ │ └── payment │ │ │ ├── _components │ │ │ └── PaymentButton.tsx │ │ │ └── page.tsx │ ├── (public) │ │ ├── _components │ │ │ └── ItemManager.tsx │ │ ├── items │ │ │ └── [itemId] │ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── page.tsx │ │ └── signin │ │ │ └── page.tsx │ ├── _actions │ │ ├── items.test.ts │ │ ├── items.ts │ │ ├── payment.test.ts │ │ ├── payment.ts │ │ ├── users.test.ts │ │ └── users.ts │ ├── _clients │ │ ├── nextAuth.ts │ │ ├── nextAuthConfig.ts │ │ ├── prisma.ts │ │ └── stripe.ts │ ├── _components │ │ ├── AuthButtons.tsx │ │ ├── Button.tsx │ │ ├── Container.tsx │ │ ├── ErrorPageTemplate.tsx │ │ ├── Footer.tsx │ │ ├── FormBox.tsx │ │ ├── Header.tsx │ │ └── Input.tsx │ ├── _hooks │ │ ├── useFormId.test.ts │ │ ├── useFormId.ts │ │ ├── useOnlineStatus.test.ts │ │ └── useOnlineStatus.ts │ ├── _schemas │ │ ├── items.test.ts │ │ ├── items.ts │ │ ├── users.test.ts │ │ └── users.ts │ ├── _types │ │ └── result.ts │ ├── _utils │ │ ├── auth.test.ts │ │ ├── auth.ts │ │ ├── date.test.ts │ │ ├── date.ts │ │ ├── db.test.ts │ │ ├── db.ts │ │ ├── payment.test.ts │ │ ├── payment.ts │ │ ├── zod.test.ts │ │ └── zod.ts │ ├── api │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ ├── health │ │ │ ├── route.test.ts │ │ │ └── route.ts │ │ └── payment │ │ │ └── webhook │ │ │ ├── route.test.ts │ │ │ └── route.ts │ ├── error.tsx │ ├── favicon.ico │ ├── global-error.tsx │ ├── globals.css │ ├── globals.d.ts │ ├── layout.tsx │ ├── not-found.tsx │ ├── opengraph-image.tsx │ └── robots.txt ├── instrumentation.ts ├── middleware.test.ts ├── middleware.ts └── otel │ └── node.ts ├── tests ├── db.setup.ts ├── vitest.helper.ts └── vitest.setup.ts ├── tsconfig.json └── vitest.config.ts /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.dockerignore -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.editorconfig -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.env.sample -------------------------------------------------------------------------------- /.env.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.env.test -------------------------------------------------------------------------------- /.github/actions/setup-db/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/actions/setup-db/action.yml -------------------------------------------------------------------------------- /.github/actions/setup-node/action.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/actions/setup-node/action.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/claude-code-review.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/claude-code-review.yml -------------------------------------------------------------------------------- /.github/workflows/claude.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/claude.yml -------------------------------------------------------------------------------- /.github/workflows/internal.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/internal.yml -------------------------------------------------------------------------------- /.github/workflows/site.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/site.yml -------------------------------------------------------------------------------- /.github/workflows/update-internal-e2e.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.github/workflows/update-internal-e2e.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.gitignore -------------------------------------------------------------------------------- /.internal/.gitignore: -------------------------------------------------------------------------------- 1 | cache 2 | dist 3 | internal-tests-output-* 4 | -------------------------------------------------------------------------------- /.internal/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/README.md -------------------------------------------------------------------------------- /.internal/create-app-foundation/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/create-app-foundation/README.md -------------------------------------------------------------------------------- /.internal/create-app-foundation/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/create-app-foundation/package.json -------------------------------------------------------------------------------- /.internal/create-app-foundation/pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/create-app-foundation/pnpm-lock.yaml -------------------------------------------------------------------------------- /.internal/create-app-foundation/src/git.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/create-app-foundation/src/git.mjs -------------------------------------------------------------------------------- /.internal/create-app-foundation/src/index.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/create-app-foundation/src/index.mjs -------------------------------------------------------------------------------- /.internal/setup/code/app-(public)-page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/code/app-(public)-page.tsx -------------------------------------------------------------------------------- /.internal/setup/code/app-layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/code/app-layout.tsx -------------------------------------------------------------------------------- /.internal/setup/common-processing.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/common-processing.mjs -------------------------------------------------------------------------------- /.internal/setup/db.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/db.mjs -------------------------------------------------------------------------------- /.internal/setup/format.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/format.mjs -------------------------------------------------------------------------------- /.internal/setup/init.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/init.mjs -------------------------------------------------------------------------------- /.internal/setup/package-json.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/package-json.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/docker.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/docker.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/e2e.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/e2e.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/index.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/index.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/otel.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/otel.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/sample-code.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/sample-code.mjs -------------------------------------------------------------------------------- /.internal/setup/questions/stripe.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/questions/stripe.mjs -------------------------------------------------------------------------------- /.internal/setup/utils.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/setup/utils.mjs -------------------------------------------------------------------------------- /.internal/site/.vitepress/config.mts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/.vitepress/config.mts -------------------------------------------------------------------------------- /.internal/site/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/package-lock.json -------------------------------------------------------------------------------- /.internal/site/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/package.json -------------------------------------------------------------------------------- /.internal/site/src/features/code-quality-automation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/code-quality-automation.md -------------------------------------------------------------------------------- /.internal/site/src/features/e2e-testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/e2e-testing.md -------------------------------------------------------------------------------- /.internal/site/src/features/next-auth.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/next-auth.md -------------------------------------------------------------------------------- /.internal/site/src/features/nextjs.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/nextjs.md -------------------------------------------------------------------------------- /.internal/site/src/features/observability.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/observability.md -------------------------------------------------------------------------------- /.internal/site/src/features/prisma.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/prisma.md -------------------------------------------------------------------------------- /.internal/site/src/features/stripe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/stripe.md -------------------------------------------------------------------------------- /.internal/site/src/features/unit-testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/features/unit-testing.md -------------------------------------------------------------------------------- /.internal/site/src/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/index.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/challenges-solved.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/challenges-solved.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/dotenv.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/dotenv.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/getting-started.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/routing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/routing.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/tasks.md -------------------------------------------------------------------------------- /.internal/site/src/introduction/what-is-web-app-template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/introduction/what-is-web-app-template.md -------------------------------------------------------------------------------- /.internal/site/src/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/favicon.ico -------------------------------------------------------------------------------- /.internal/site/src/public/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/icon.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/biome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/biome.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/copilot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/copilot.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/docker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/docker.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/editorconfig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/editorconfig.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/github-actions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/github-actions.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/knip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/knip.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/lefthook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/lefthook.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/next-auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/next-auth.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/nextjs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/nextjs.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/otel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/otel.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/playwright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/playwright.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/pnpm.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/pnpm.svg -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/postgresql.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/postgresql.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/prettier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/prettier.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/prisma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/prisma.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/react-hook-form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/react-hook-form.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/renovate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/renovate.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/stripe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/stripe.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/tailwind.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/tailwind.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/testcontainers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/testcontainers.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/testing-library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/testing-library.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/typescript.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/typescript.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/vitest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/vitest.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/vscode.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/libs/zod.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/libs/zod.svg -------------------------------------------------------------------------------- /.internal/site/src/public/images/mermaid/stripe-cancel-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/mermaid/stripe-cancel-flow.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/mermaid/stripe-checkout-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/mermaid/stripe-checkout-flow.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/mermaid/stripe-webhook-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/mermaid/stripe-webhook-flow.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/otel/query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/otel/query.png -------------------------------------------------------------------------------- /.internal/site/src/public/images/otel/root-metric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/site/src/public/images/otel/root-metric.png -------------------------------------------------------------------------------- /.internal/tests/Basetest.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/Basetest.mjs -------------------------------------------------------------------------------- /.internal/tests/all-opt-out.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/all-opt-out.test.mjs -------------------------------------------------------------------------------- /.internal/tests/common.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/common.test.mjs -------------------------------------------------------------------------------- /.internal/tests/common.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/common.test.mjs.snapshot -------------------------------------------------------------------------------- /.internal/tests/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/makefile -------------------------------------------------------------------------------- /.internal/tests/no-docker.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-docker.test.mjs -------------------------------------------------------------------------------- /.internal/tests/no-docker.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-docker.test.mjs.snapshot -------------------------------------------------------------------------------- /.internal/tests/no-e2e.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-e2e.test.mjs -------------------------------------------------------------------------------- /.internal/tests/no-e2e.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-e2e.test.mjs.snapshot -------------------------------------------------------------------------------- /.internal/tests/no-otel.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-otel.test.mjs -------------------------------------------------------------------------------- /.internal/tests/no-otel.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-otel.test.mjs.snapshot -------------------------------------------------------------------------------- /.internal/tests/no-sample-code.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-sample-code.test.mjs -------------------------------------------------------------------------------- /.internal/tests/no-sample-code.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-sample-code.test.mjs.snapshot -------------------------------------------------------------------------------- /.internal/tests/no-stripe.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-stripe.test.mjs -------------------------------------------------------------------------------- /.internal/tests/no-stripe.test.mjs.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.internal/tests/no-stripe.test.mjs.snapshot -------------------------------------------------------------------------------- /.node-version: -------------------------------------------------------------------------------- 1 | 24.11.1 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | save-exact=true 2 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.vscode/extensions.json -------------------------------------------------------------------------------- /.vscode/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.vscode/mcp.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/README.md -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/biome.json -------------------------------------------------------------------------------- /compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/compose.yml -------------------------------------------------------------------------------- /e2e/a11y/itemPage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/a11y/itemPage.test.ts -------------------------------------------------------------------------------- /e2e/a11y/mePage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/a11y/mePage.test.ts -------------------------------------------------------------------------------- /e2e/a11y/notFoundPage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/a11y/notFoundPage.test.ts -------------------------------------------------------------------------------- /e2e/a11y/signInPage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/a11y/signInPage.test.ts -------------------------------------------------------------------------------- /e2e/a11y/topPage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/a11y/topPage.test.ts -------------------------------------------------------------------------------- /e2e/dummyUsers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/dummyUsers.ts -------------------------------------------------------------------------------- /e2e/fixtures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/fixtures.ts -------------------------------------------------------------------------------- /e2e/helpers/app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/helpers/app.ts -------------------------------------------------------------------------------- /e2e/helpers/getRandomPort.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/helpers/getRandomPort.ts -------------------------------------------------------------------------------- /e2e/helpers/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/helpers/prisma.ts -------------------------------------------------------------------------------- /e2e/helpers/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/helpers/users.ts -------------------------------------------------------------------------------- /e2e/helpers/waitForHealth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/helpers/waitForHealth.ts -------------------------------------------------------------------------------- /e2e/integrations/auth.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/integrations/auth.test.ts -------------------------------------------------------------------------------- /e2e/integrations/item.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/integrations/item.test.ts -------------------------------------------------------------------------------- /e2e/integrations/user.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/integrations/user.test.ts -------------------------------------------------------------------------------- /e2e/models/Base.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/Base.ts -------------------------------------------------------------------------------- /e2e/models/ItemPage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/ItemPage.ts -------------------------------------------------------------------------------- /e2e/models/MePage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/MePage.ts -------------------------------------------------------------------------------- /e2e/models/NotFoundPage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/NotFoundPage.ts -------------------------------------------------------------------------------- /e2e/models/SignInPage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/SignInPage.ts -------------------------------------------------------------------------------- /e2e/models/TopPage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/models/TopPage.ts -------------------------------------------------------------------------------- /e2e/setup/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/e2e/setup/auth.ts -------------------------------------------------------------------------------- /env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/env.ts -------------------------------------------------------------------------------- /knip.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/knip.config.ts -------------------------------------------------------------------------------- /lefthook.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/lefthook.yml -------------------------------------------------------------------------------- /next.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/next.config.ts -------------------------------------------------------------------------------- /otel-collector-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/otel-collector-config.yml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/package.json -------------------------------------------------------------------------------- /playwright.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/playwright.config.ts -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /prisma.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/prisma.config.ts -------------------------------------------------------------------------------- /prisma/schema/item.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/prisma/schema/item.prisma -------------------------------------------------------------------------------- /prisma/schema/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/prisma/schema/schema.prisma -------------------------------------------------------------------------------- /prisma/schema/user.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/prisma/schema/user.prisma -------------------------------------------------------------------------------- /public/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/renovate.json -------------------------------------------------------------------------------- /src/app/(private)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(private)/layout.tsx -------------------------------------------------------------------------------- /src/app/(private)/me/_components/UpdateMyInfo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(private)/me/_components/UpdateMyInfo.tsx -------------------------------------------------------------------------------- /src/app/(private)/me/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(private)/me/page.tsx -------------------------------------------------------------------------------- /src/app/(private)/me/payment/_components/PaymentButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(private)/me/payment/_components/PaymentButton.tsx -------------------------------------------------------------------------------- /src/app/(private)/me/payment/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(private)/me/payment/page.tsx -------------------------------------------------------------------------------- /src/app/(public)/_components/ItemManager.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(public)/_components/ItemManager.tsx -------------------------------------------------------------------------------- /src/app/(public)/items/[itemId]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(public)/items/[itemId]/page.tsx -------------------------------------------------------------------------------- /src/app/(public)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(public)/layout.tsx -------------------------------------------------------------------------------- /src/app/(public)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(public)/page.tsx -------------------------------------------------------------------------------- /src/app/(public)/signin/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/(public)/signin/page.tsx -------------------------------------------------------------------------------- /src/app/_actions/items.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/items.test.ts -------------------------------------------------------------------------------- /src/app/_actions/items.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/items.ts -------------------------------------------------------------------------------- /src/app/_actions/payment.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/payment.test.ts -------------------------------------------------------------------------------- /src/app/_actions/payment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/payment.ts -------------------------------------------------------------------------------- /src/app/_actions/users.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/users.test.ts -------------------------------------------------------------------------------- /src/app/_actions/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_actions/users.ts -------------------------------------------------------------------------------- /src/app/_clients/nextAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_clients/nextAuth.ts -------------------------------------------------------------------------------- /src/app/_clients/nextAuthConfig.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_clients/nextAuthConfig.ts -------------------------------------------------------------------------------- /src/app/_clients/prisma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_clients/prisma.ts -------------------------------------------------------------------------------- /src/app/_clients/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_clients/stripe.ts -------------------------------------------------------------------------------- /src/app/_components/AuthButtons.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/AuthButtons.tsx -------------------------------------------------------------------------------- /src/app/_components/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/Button.tsx -------------------------------------------------------------------------------- /src/app/_components/Container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/Container.tsx -------------------------------------------------------------------------------- /src/app/_components/ErrorPageTemplate.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/ErrorPageTemplate.tsx -------------------------------------------------------------------------------- /src/app/_components/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/Footer.tsx -------------------------------------------------------------------------------- /src/app/_components/FormBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/FormBox.tsx -------------------------------------------------------------------------------- /src/app/_components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/Header.tsx -------------------------------------------------------------------------------- /src/app/_components/Input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_components/Input.tsx -------------------------------------------------------------------------------- /src/app/_hooks/useFormId.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_hooks/useFormId.test.ts -------------------------------------------------------------------------------- /src/app/_hooks/useFormId.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_hooks/useFormId.ts -------------------------------------------------------------------------------- /src/app/_hooks/useOnlineStatus.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_hooks/useOnlineStatus.test.ts -------------------------------------------------------------------------------- /src/app/_hooks/useOnlineStatus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_hooks/useOnlineStatus.ts -------------------------------------------------------------------------------- /src/app/_schemas/items.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_schemas/items.test.ts -------------------------------------------------------------------------------- /src/app/_schemas/items.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_schemas/items.ts -------------------------------------------------------------------------------- /src/app/_schemas/users.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_schemas/users.test.ts -------------------------------------------------------------------------------- /src/app/_schemas/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_schemas/users.ts -------------------------------------------------------------------------------- /src/app/_types/result.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_types/result.ts -------------------------------------------------------------------------------- /src/app/_utils/auth.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/auth.test.ts -------------------------------------------------------------------------------- /src/app/_utils/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/auth.ts -------------------------------------------------------------------------------- /src/app/_utils/date.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/date.test.ts -------------------------------------------------------------------------------- /src/app/_utils/date.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/date.ts -------------------------------------------------------------------------------- /src/app/_utils/db.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/db.test.ts -------------------------------------------------------------------------------- /src/app/_utils/db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/db.ts -------------------------------------------------------------------------------- /src/app/_utils/payment.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/payment.test.ts -------------------------------------------------------------------------------- /src/app/_utils/payment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/payment.ts -------------------------------------------------------------------------------- /src/app/_utils/zod.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/zod.test.ts -------------------------------------------------------------------------------- /src/app/_utils/zod.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/_utils/zod.ts -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /src/app/api/health/route.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/api/health/route.test.ts -------------------------------------------------------------------------------- /src/app/api/health/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/api/health/route.ts -------------------------------------------------------------------------------- /src/app/api/payment/webhook/route.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/api/payment/webhook/route.test.ts -------------------------------------------------------------------------------- /src/app/api/payment/webhook/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/api/payment/webhook/route.ts -------------------------------------------------------------------------------- /src/app/error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/error.tsx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/global-error.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/global-error.tsx -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss"; 2 | 3 | :root { 4 | --color-main: oklch(65.31% 0.1347 242.69); 5 | } 6 | -------------------------------------------------------------------------------- /src/app/globals.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/globals.d.ts -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/not-found.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/not-found.tsx -------------------------------------------------------------------------------- /src/app/opengraph-image.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/opengraph-image.tsx -------------------------------------------------------------------------------- /src/app/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/app/robots.txt -------------------------------------------------------------------------------- /src/instrumentation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/instrumentation.ts -------------------------------------------------------------------------------- /src/middleware.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/middleware.test.ts -------------------------------------------------------------------------------- /src/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/middleware.ts -------------------------------------------------------------------------------- /src/otel/node.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/src/otel/node.ts -------------------------------------------------------------------------------- /tests/db.setup.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/tests/db.setup.ts -------------------------------------------------------------------------------- /tests/vitest.helper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/tests/vitest.helper.ts -------------------------------------------------------------------------------- /tests/vitest.setup.ts: -------------------------------------------------------------------------------- 1 | export function setup() { 2 | process.env.TZ = "Europe/London"; 3 | } 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hiroppy/web-app-template/HEAD/vitest.config.ts --------------------------------------------------------------------------------