Gel on Next.js

Gel on Next.js

Starter template for Gel and Next.js. It includes a basic Gel schema and a UI to get you started.

0
boilerplate.detail.features.liveDemo

boilerplate.detail.metadata.lastUpdated

il y a 4 mois

R

boilerplate.detail.metadata.author

Renaud

boilerplate.detail.metadata.price

boilerplate.detail.metadata.free

Documentation

šŸŽ‰ Gel + Next.js template

This starter is designed to help you get up and running with Gel and Next.js quickly. It includes a basic Gel schema and a UI to get you started. Below you can find the steps to set up the project and start building your app as well as some ideas for extending it further.

Deploy with Vercel

This template includes:

🧐 What's inside?

.
ā”œā”€ā”€ README.md
ā”œā”€ā”€ app
│   ā”œā”€ā”€ favicon.ico
│   ā”œā”€ā”€ globals.css
│   ā”œā”€ā”€ layout.tsx
│   └── page.tsx
ā”œā”€ā”€ components/
ā”œā”€ā”€ src/
ā”œā”€ā”€ public/
ā”œā”€ā”€ dbschema
│   ā”œā”€ā”€ default.esdl
ā”œā”€ā”€ gel.toml
ā”œā”€ā”€ eslint.config.js
ā”œā”€ā”€ next-env.d.ts
ā”œā”€ā”€ next.config.js
ā”œā”€ā”€ package.json
ā”œā”€ā”€ pnpm-lock.yaml
ā”œā”€ā”€ postcss.config.js
ā”œā”€ā”€ tailwind.config.ts
└── tsconfig.json

Directory structure:

  • app/ - Next.js pages and components
  • public/ - static assets
  • components/ - React components
  • src/ - utility functions
  • dbschema/ - Gel schema and migrations
  • gel.toml - Gel configuration
  • gel.ts - Gel client
  • eslint.config.js - ESLint configuration
  • next-env.d.ts - Next.js types
  • next.config.js - Next.js configuration
  • package.json - npm dependencies
  • pnpm-lock.yaml - pnpm lockfile
  • postcss.config.js - PostCSS configuration
  • tailwind.config.ts - Tailwind CSS configuration
  • tsconfig.json - TypeScript configuration

šŸš€ Quick start

To get started with this template, you need to:

1. Clone the repository & install dependencies

git clone https://github.com/geldata/nextjs-gel-basic-template.git
cd nextjs-gel-basic-template

pnpm i

You can also click the "Use this template" button to create a new repository based on this template.

2. Install Gel CLI (optional)

You can just use npx gel, it would do the right thing to automatically install and run Gel CLI for you.

This README will use npx gel <command> style, but if you have the CLI installed you can use it directly, like this: gel <command>.

<details><summary>However, you can install the CLI manually</summary>
curl --proto '=https' --tlsv1.2 -sSf https://sh.geldata.com | sh

For more installation options, see the Gel installation guide.

</details>

3. Initialize Gel project

To run this project, you need to initialize a new Gel project. Run the following command:

npx gel project init

4. Generate types

This template includes a script to generate TypeScript types from the Gel schema. Run the following command:

pnpm generate:all

5. Start the development server

pnpm dev

Follow the instructions in the terminal to open the app in your browser.

6. Open the Gel UI

To view the database in the Gel UI run:

npx gel ui

✨ Next steps

Extend the Gel schema

Open the dbschema/default.gel file and add your own types and fields. You can start by adding a Post type with a title and content field. For example:

type Post {
  # Add your new fields here:
  required title: str;
  required content: str;
}

Edit the Gel query

Open the app/page.tsx file and update the query to include your new type.

const postsQuery = e.select(e.Post, (_post) => ({
  id: true,
  title: true,
  content: true,
  // Add your other fields here
}))

šŸ‘©ā€šŸ« Learn More

Explore a list of resources to help you get started with Gel and Next.js:

To learn more about Next.js, take a look at the following resources:

You can also check out the Gel documentation to learn more about Gel and Gel Auth.

ā˜ļø Deployment

Follow the deployment instructions in the Gel documentation to deploy your Next.js app to Gel Cloud and Vercel.

Or

Deploy with Vercel

boilerplate.detail.sections.discussion

Comments (0)

FAQ

Frequently Asked Questions

Have a question? We have the answers. If you can't find what you're looking for, feel free to contact us.

Boilerapp is a community platform dedicated to sharing boilerplates, starter kits, and project templates for developers. Our goal is simple: save you time on initial setup so you can code what really matters. Whether you are looking for a simple code base or a complete SaaS project, you will find it here.

Have more questions?

Our team is here to help. Contact us and we will get back to you as soon as possible.