First Steps
You just scaffolded a new T3 App and are ready to go. Here is the bare minimum to get your app working.
Database
MySQL, PostgreSQL
If you chose MySQL or PostgreSQL as your database, your T3 app will come with a start-database.sh
bash script that can create a docker container with a database for local development. If you already have a database, feel free to delete this file and put your database credentials in .env
. On macOS, you can also use DBngin↗ if you don’t want to use docker.
Prisma
If your app includes Prisma, make sure to run npx prisma db push
from the root directory of your app. This command will sync your Prisma schema with your database and will generate the TypeScript types for the Prisma Client based on your schema. Note that you need to restart the TypeScript server↗ after doing this so that it can detect the generated types.
Drizzle
If your app includes Drizzle, check the .env
file for instructions on how to construct your DATABASE_URL
env variable. Once your env file is ready, run pnpm db:push
(or the equivalent for other package managers) to push your schema.
Authentication
If your app includes NextAuth.js, we get you started with the DiscordProvider
. This is one of the simplest providers that NextAuth.js offers, but it still requires a bit of initial setup on your part.
Of course, if you prefer to use a different auth provider, you can also use one of the many providers↗ that NextAuth.js offers.
- You will need a Discord account, so register one if you haven’t already.
- Navigate to https://discord.com/developers/applications↗ and click “New Application” in the top right corner. Give your application a name and agree to the Terms of Service.
- Once your application has been created, navigate to “Settings → OAuth2 → General”.
- Copy the “Client ID” and add it to your
.env
asDISCORD_CLIENT_ID
. - Click “Reset Secret”, copy the new secret, and add it to your
.env
asDISCORD_CLIENT_SECRET
. - Click “Add Redirect” and type in
http://localhost:3000/api/auth/callback/discord
.- For production deployment, follow the previous steps to create another Discord Application, but this time replace
http://localhost:3000
with the URL that you are deploying to.
- For production deployment, follow the previous steps to create another Discord Application, but this time replace
- Save Changes.
- Set the
NEXTAUTH_SECRET
in.env
. In development any string will work, for production see the note in.env
on generating a secure secret.
You should now be able to log in.
Editor Setup
The following extensions are recommended for an optimal developer experience. The links below provide editor specific plugin support.
Next Steps
- If your app includes tRPC, check out
src/pages/index.tsx
andsrc/server/api/routers/post.ts
to see how tRPC queries work. - Have a look around the Create T3 App docs, as well as the docs of the packages that your app includes.
- Join our Discord↗ and give us a star on GitHub↗! :)