- New
/app
dir, - Routing, Layouts, Nested Layouts and Layout Groups
- Data Fetching, Caching and Mutation
- Loading UI
- Server and Client Components
- API Routes and Middlewares
- Admin view with super admins
- Authentication using NextAuth.js
- Transactional emails using react.email
- ORM using Prisma
- Database on PlanetScale
- Subscriptions using Stripe
- Styled using Tailwind CSS
- Error monitoring using Sentry
- Validations using Zod
- Written in TypeScript
Start by copy/pasting the env variables to .env
using:
cp .env.example .env
Then follow this checklist to get everything set up:
- Add a next-auth random secret (using this)
- Go through and update your settings in config/
- Update contact details in security.txt
- Update favicons, logo and default Open Graph image in public using FaviconGenerator
- Create an account on PlanetScale
- Set up a MySQL database in your closest region
- Update
DATABASE_URL
in env vars - Run
yarn update_db_schema
- Create an AWS account on AWS
- Go to AWS SES and create a verified email (e.g. [email protected])
- Create SMTP credentials
- Update
SMTP_FROM
andEMAIL_SERVER
in env vars
- Create a Sentry account on Sentry
- Create a next.js project
- Run
npx @sentry/wizard@latest -i nextjs
❓ TBD ❓
-
Follow the instructions here: https://dashboard.stripe.com/test/webhooks/create?endpoint_location=local
-
Once installed, type
stripe listen --forward-to localhost:3000/api/webhooks/stripe
to start Stripe ngrokish listener
❓ TBD ❓
⚠️ Before building Ensure that everything is working, including Google Login, Email Login, Stripe subscription management, transactional emails and error reporting.
This template is hevaily based on Taxonomy Next.js 13 template built by @shadcn.
allora-starter-web and Taxonomy is licensed under the MIT license.