mirror of
https://github.com/shishantbiswas/bknd.git
synced 2026-03-16 20:37:21 +00:00
128 lines
3.9 KiB
Plaintext
128 lines
3.9 KiB
Plaintext
---
|
|
title: Introduction
|
|
---
|
|
|
|
import { cloudflare, nextjs, reactRouter, astro, bun, node, docker, vite, aws, d1, libsql, sqlite, postgres, turso } from "/snippets/integration-icons.mdx"
|
|
import { Stackblitz, examples } from "/snippets/stackblitz.mdx"
|
|
|
|
Glad you're here! **bknd** is a lightweight, infrastructure agnostic and feature-rich backend that runs in any JavaScript environment.
|
|
|
|
## Preview
|
|
Here is a preview of **bknd** in StackBlitz:
|
|
<Stackblitz {...examples.adminRich} />
|
|
|
|
<Accordion title="What's going on?" icon="lightbulb">
|
|
The example shown is starting a [node server](/integration/node) using an [in-memory database](/usage/database#sqlite-in-memory). To ensure there are a few entities defined, it is using an [initial structure](/usage/database#initial-structure) using the prototype methods. Furthermore it uses the [seed option](/usage/database#seeding-the-database) to seed some data in the structure created.
|
|
|
|
To ensure there are users defined on first boot, it hooks into the `App.Events.AppFirstBoot` event to create them (documentation pending).
|
|
</Accordion>
|
|
|
|
## Quickstart
|
|
Enter the following command to spin up an instance:
|
|
<CodeGroup>
|
|
```bash npm
|
|
npx bknd run
|
|
```
|
|
|
|
```bash bun
|
|
bunx bknd run
|
|
```
|
|
</CodeGroup>
|
|
|
|
To learn more about the CLI, check out the [Using the CLI](/usage/cli) guide.
|
|
|
|
|
|
## Start with a Framework/Runtime
|
|
Start by using the integration guide for these popular frameworks/runtimes. There will be more
|
|
in the future, so stay tuned!
|
|
|
|
<CardGroup cols={2}>
|
|
<Card
|
|
title="Next.js"
|
|
icon={<div className="text-primary-light">{nextjs}</div>}
|
|
href="/integration/nextjs"
|
|
/>
|
|
<Card
|
|
title="React Router"
|
|
icon={<div className="text-primary-light">{reactRouter}</div>}
|
|
href="/integration/react-router"
|
|
/>
|
|
<Card
|
|
title="Astro"
|
|
icon={<div className="text-primary-light">{astro}</div>}
|
|
href="/integration/astro"
|
|
/>
|
|
<Card
|
|
title="Node"
|
|
icon={<div className="text-primary-light">{node}</div>}
|
|
href="/integration/node"
|
|
/>
|
|
<Card
|
|
title="Cloudflare"
|
|
icon={<div className="text-primary-light">{cloudflare}</div>}
|
|
href="/integration/cloudflare"
|
|
/>
|
|
<Card
|
|
title="Bun"
|
|
icon={<div className="text-primary-light">{bun}</div>}
|
|
href="/integration/bun"
|
|
/>
|
|
<Card
|
|
title="AWS Lambda"
|
|
icon={<div className="text-primary-light">{aws}</div>}
|
|
href="/integration/aws"
|
|
/>
|
|
<Card
|
|
title="Vite"
|
|
icon={<div className="text-primary-light">{vite}</div>}
|
|
href="/integration/vite"
|
|
/>
|
|
<Card
|
|
title="Docker"
|
|
icon={<div className="text-primary-light">{docker}</div>}
|
|
href="/integration/docker"
|
|
/>
|
|
<Card
|
|
horizontal
|
|
title="Yours missing?"
|
|
href="https://github.com/bknd-io/bknd/issues/new"
|
|
>
|
|
Create a new issue to request a guide for your runtime or framework.
|
|
</Card>
|
|
</CardGroup>
|
|
|
|
## Use your favorite SQL Database
|
|
The following databases are currently supported. Request a new integration if your favorite is missing.
|
|
|
|
<CardGroup cols={2}>
|
|
<Card
|
|
title="LibSQL/SQLite"
|
|
icon={<div className="text-primary-light">{libsql}</div>}
|
|
href="/usage/database#database"
|
|
/>
|
|
<Card
|
|
title="Turso"
|
|
icon={<div className="text-primary-light">{turso}</div>}
|
|
href="/usage/database#sqlite-using-libsql-on-turso"
|
|
/>
|
|
<Card
|
|
title="PostgreSQL"
|
|
icon={<div className="text-primary-light">{postgres}</div>}
|
|
href="/usage/database#postgresql"
|
|
/>
|
|
<Card
|
|
title="Cloudflare D1"
|
|
icon={<div className="text-primary-light">{d1}</div>}
|
|
href="/usage/database#cloudflare-d1"
|
|
/>
|
|
<div style={{ gridColumn: "span 2" }}>
|
|
<Card
|
|
horizontal
|
|
title="Yours missing?"
|
|
href="https://github.com/bknd-io/bknd/issues/new"
|
|
>
|
|
Create a new issue to request a new database integration.
|
|
</Card>
|
|
</div>
|
|
</CardGroup>
|