Xata: Typo-Tolerant Full-Text Search
Next.js and React Server Components template with Xata powered full-text search.
Features ⚡️
- Typo-Tolerant Full-Text Search.
- Aggregations.
- Type-Safe SDK/ORM (schema-based types generation).
- Next.js App Directory with React Server Components.
- Intercepting Route
- Parallel Route
Stack ⚙️
| Package | Reason | | ----------- | ----------------------------- | | Zod | Schema validation | | Xata Client | ORM | | TailwindCSS | Styles | | vercel/OG | OG image generation | | React-Icons | SVG Icons as React components |
Environment Setup 🧱
To have your own local instance of this app, you will need 2 API keys, and your deployment URL.
XATA_API_TOKEN
: to connect your own Xata workspace.VERCEL_URL
: popullated by Vercel, on your local environment it’s your local server url (https://localhost:3000
by default).
Once you have those keys, you can create a .env.local
as shown in .env.template
.
Link to Xata 🦋
You can run the xata init
command with some default configuration:
pnpm xata:link
By the end you should have the XATA_API_TOKEN
in your .env.local
and a .xatarc
file created.
Database Seed 🌱
Once you have a working link with the workspace, you can run:
pnpm xata:seed
This task will add 100 rows of mocked data to get you started with a working app.
Run Locally 🧑✈️
Once you project is linked and database has data, you can start the development server.
pnpm dev
By default, server will run on localhost:3000.
Xata: Typo-Tolerant Full-Text Search
Next.js and React Server Components template with Xata powered full-text search.
Features ⚡️
- Typo-Tolerant Full-Text Search.
- Aggregations.
- Type-Safe SDK/ORM (schema-based types generation).
- Next.js App Directory with React Server Components.
- Intercepting Route
- Parallel Route
Stack ⚙️
| Package | Reason | | ----------- | ----------------------------- | | Zod | Schema validation | | Xata Client | ORM | | TailwindCSS | Styles | | vercel/OG | OG image generation | | React-Icons | SVG Icons as React components |
Environment Setup 🧱
To have your own local instance of this app, you will need 2 API keys, and your deployment URL.
XATA_API_TOKEN
: to connect your own Xata workspace.VERCEL_URL
: popullated by Vercel, on your local environment it’s your local server url (https://localhost:3000
by default).
Once you have those keys, you can create a .env.local
as shown in .env.template
.
Link to Xata 🦋
You can run the xata init
command with some default configuration:
pnpm xata:link
By the end you should have the XATA_API_TOKEN
in your .env.local
and a .xatarc
file created.
Database Seed 🌱
Once you have a working link with the workspace, you can run:
pnpm xata:seed
This task will add 100 rows of mocked data to get you started with a working app.
Run Locally 🧑✈️
Once you project is linked and database has data, you can start the development server.
pnpm dev
By default, server will run on localhost:3000.