├── .env.sample ├── .eslintrc.json ├── .gitignore ├── LICENSE ├── README.md ├── components.json ├── docker-compose.yml ├── drizzle.config.ts ├── next.config.mjs ├── package.json ├── postcss.config.mjs ├── public ├── computer.jpeg ├── next.svg └── vercel.svg ├── src ├── app │ ├── (landing) │ │ └── _sections │ │ │ ├── features.tsx │ │ │ ├── hero.tsx │ │ │ ├── pricing.tsx │ │ │ └── reserved.tsx │ ├── (legal) │ │ ├── privacy │ │ │ └── page.tsx │ │ └── terms-of-service │ │ │ └── page.tsx │ ├── (main) │ │ ├── settings │ │ │ ├── _components │ │ │ │ ├── actions.tsx │ │ │ │ └── delete-account-button.tsx │ │ │ └── page.tsx │ │ └── todos │ │ │ ├── _components │ │ │ ├── actions.ts │ │ │ ├── create-todo-button.tsx │ │ │ ├── todo.tsx │ │ │ └── validation.ts │ │ │ └── page.tsx │ ├── (subscribe) │ │ └── success │ │ │ └── page.tsx │ ├── _components │ │ ├── footer.tsx │ │ ├── get-started-button.tsx │ │ ├── header │ │ │ ├── feedback.tsx │ │ │ ├── header.tsx │ │ │ └── links.tsx │ │ ├── mode-toggle.tsx │ │ ├── providers.tsx │ │ └── theme-provider.tsx │ ├── api │ │ ├── auth │ │ │ └── [...nextauth] │ │ │ │ └── route.ts │ │ └── webhooks │ │ │ └── stripe │ │ │ └── route.ts │ ├── changelog │ │ └── page.tsx │ ├── favicon.ico │ ├── globals.css │ ├── layout.tsx │ └── page.tsx ├── components │ ├── auth │ │ ├── signed-in.tsx │ │ ├── signed-out.tsx │ │ └── subscription-status.tsx │ ├── custom │ │ └── edit-text.tsx │ ├── loader-button.tsx │ ├── send-event-on-load.tsx │ ├── stripe │ │ └── upgrade-button │ │ │ ├── actions.ts │ │ │ └── upgrade-button.tsx │ ├── submit-button.tsx │ └── ui │ │ ├── alert-dialog.tsx │ │ ├── avatar.tsx │ │ ├── button.tsx │ │ ├── card.tsx │ │ ├── checkbox.tsx │ │ ├── dialog.tsx │ │ ├── drawer.tsx │ │ ├── dropdown-menu.tsx │ │ ├── form.tsx │ │ ├── input.tsx │ │ ├── label.tsx │ │ ├── tabs.tsx │ │ ├── toast.tsx │ │ ├── toaster.tsx │ │ └── use-toast.ts ├── data-access │ ├── subscriptions.ts │ ├── todos.ts │ └── users.ts ├── db │ ├── index.ts │ └── schema.ts ├── env.ts ├── hooks │ └── use-media-query.tsx ├── lib │ ├── auth.ts │ ├── events.ts │ ├── get-server-session.ts │ ├── stripe.ts │ └── utils.ts ├── middleware.ts └── use-cases │ ├── authorization.ts │ ├── subscriptions.ts │ ├── todos.ts │ └── users.ts ├── tailwind.config.ts └── tsconfig.json /.env.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/.env.sample -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/README.md -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/components.json -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/drizzle.config.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/postcss.config.mjs -------------------------------------------------------------------------------- /public/computer.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/public/computer.jpeg -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /src/app/(landing)/_sections/features.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(landing)/_sections/features.tsx -------------------------------------------------------------------------------- /src/app/(landing)/_sections/hero.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(landing)/_sections/hero.tsx -------------------------------------------------------------------------------- /src/app/(landing)/_sections/pricing.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(landing)/_sections/pricing.tsx -------------------------------------------------------------------------------- /src/app/(landing)/_sections/reserved.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(landing)/_sections/reserved.tsx -------------------------------------------------------------------------------- /src/app/(legal)/privacy/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(legal)/privacy/page.tsx -------------------------------------------------------------------------------- /src/app/(legal)/terms-of-service/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(legal)/terms-of-service/page.tsx -------------------------------------------------------------------------------- /src/app/(main)/settings/_components/actions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/settings/_components/actions.tsx -------------------------------------------------------------------------------- /src/app/(main)/settings/_components/delete-account-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/settings/_components/delete-account-button.tsx -------------------------------------------------------------------------------- /src/app/(main)/settings/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/settings/page.tsx -------------------------------------------------------------------------------- /src/app/(main)/todos/_components/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/todos/_components/actions.ts -------------------------------------------------------------------------------- /src/app/(main)/todos/_components/create-todo-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/todos/_components/create-todo-button.tsx -------------------------------------------------------------------------------- /src/app/(main)/todos/_components/todo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/todos/_components/todo.tsx -------------------------------------------------------------------------------- /src/app/(main)/todos/_components/validation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/todos/_components/validation.ts -------------------------------------------------------------------------------- /src/app/(main)/todos/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(main)/todos/page.tsx -------------------------------------------------------------------------------- /src/app/(subscribe)/success/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/(subscribe)/success/page.tsx -------------------------------------------------------------------------------- /src/app/_components/footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/footer.tsx -------------------------------------------------------------------------------- /src/app/_components/get-started-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/get-started-button.tsx -------------------------------------------------------------------------------- /src/app/_components/header/feedback.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/header/feedback.tsx -------------------------------------------------------------------------------- /src/app/_components/header/header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/header/header.tsx -------------------------------------------------------------------------------- /src/app/_components/header/links.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/header/links.tsx -------------------------------------------------------------------------------- /src/app/_components/mode-toggle.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/mode-toggle.tsx -------------------------------------------------------------------------------- /src/app/_components/providers.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/providers.tsx -------------------------------------------------------------------------------- /src/app/_components/theme-provider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/_components/theme-provider.tsx -------------------------------------------------------------------------------- /src/app/api/auth/[...nextauth]/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/api/auth/[...nextauth]/route.ts -------------------------------------------------------------------------------- /src/app/api/webhooks/stripe/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/api/webhooks/stripe/route.ts -------------------------------------------------------------------------------- /src/app/changelog/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/changelog/page.tsx -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/globals.css -------------------------------------------------------------------------------- /src/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/layout.tsx -------------------------------------------------------------------------------- /src/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/app/page.tsx -------------------------------------------------------------------------------- /src/components/auth/signed-in.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/auth/signed-in.tsx -------------------------------------------------------------------------------- /src/components/auth/signed-out.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/auth/signed-out.tsx -------------------------------------------------------------------------------- /src/components/auth/subscription-status.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/auth/subscription-status.tsx -------------------------------------------------------------------------------- /src/components/custom/edit-text.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/custom/edit-text.tsx -------------------------------------------------------------------------------- /src/components/loader-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/loader-button.tsx -------------------------------------------------------------------------------- /src/components/send-event-on-load.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/send-event-on-load.tsx -------------------------------------------------------------------------------- /src/components/stripe/upgrade-button/actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/stripe/upgrade-button/actions.ts -------------------------------------------------------------------------------- /src/components/stripe/upgrade-button/upgrade-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/stripe/upgrade-button/upgrade-button.tsx -------------------------------------------------------------------------------- /src/components/submit-button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/submit-button.tsx -------------------------------------------------------------------------------- /src/components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/avatar.tsx -------------------------------------------------------------------------------- /src/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/button.tsx -------------------------------------------------------------------------------- /src/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/card.tsx -------------------------------------------------------------------------------- /src/components/ui/checkbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/checkbox.tsx -------------------------------------------------------------------------------- /src/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/dialog.tsx -------------------------------------------------------------------------------- /src/components/ui/drawer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/drawer.tsx -------------------------------------------------------------------------------- /src/components/ui/dropdown-menu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/dropdown-menu.tsx -------------------------------------------------------------------------------- /src/components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/form.tsx -------------------------------------------------------------------------------- /src/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/input.tsx -------------------------------------------------------------------------------- /src/components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/label.tsx -------------------------------------------------------------------------------- /src/components/ui/tabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/tabs.tsx -------------------------------------------------------------------------------- /src/components/ui/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/toast.tsx -------------------------------------------------------------------------------- /src/components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/toaster.tsx -------------------------------------------------------------------------------- /src/components/ui/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/components/ui/use-toast.ts -------------------------------------------------------------------------------- /src/data-access/subscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/data-access/subscriptions.ts -------------------------------------------------------------------------------- /src/data-access/todos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/data-access/todos.ts -------------------------------------------------------------------------------- /src/data-access/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/data-access/users.ts -------------------------------------------------------------------------------- /src/db/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/db/index.ts -------------------------------------------------------------------------------- /src/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/db/schema.ts -------------------------------------------------------------------------------- /src/env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/env.ts -------------------------------------------------------------------------------- /src/hooks/use-media-query.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/hooks/use-media-query.tsx -------------------------------------------------------------------------------- /src/lib/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/lib/auth.ts -------------------------------------------------------------------------------- /src/lib/events.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/lib/events.ts -------------------------------------------------------------------------------- /src/lib/get-server-session.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/lib/get-server-session.ts -------------------------------------------------------------------------------- /src/lib/stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/lib/stripe.ts -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/lib/utils.ts -------------------------------------------------------------------------------- /src/middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/middleware.ts -------------------------------------------------------------------------------- /src/use-cases/authorization.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/use-cases/authorization.ts -------------------------------------------------------------------------------- /src/use-cases/subscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/use-cases/subscriptions.ts -------------------------------------------------------------------------------- /src/use-cases/todos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/use-cases/todos.ts -------------------------------------------------------------------------------- /src/use-cases/users.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/src/use-cases/users.ts -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webdevcody/ppai-next-starter/HEAD/tsconfig.json --------------------------------------------------------------------------------