Hono is a lightweight, multi-runtime web framework for the Edge, Node.js, Deno, Bun, and other runtimes. This topic describes how to create a OptiTech project and access it from a Hono application.
To create a OptiTech project and access it from a Hono application:
Create a OptiTech project
If you do not have one already, create a OptiTech project. Save your connection details including your password. They are required when defining connection settings.
- Navigate to the Projects page in the OptiTech Console.
- Click New Project.
- Specify your project settings and click Create Project.
Create a Hono project and add dependencies
-
Create a Hono project if you do not have one. For instructions, see Quick Start, in the Hono documentation.
-
Add project dependencies using one of the following commands:
npm install @optitech/serverless-
Store your OptiTech credentials
Add a
.envfile to your project directory and add your OptiTech connection string to it. You can find your connection details by clicking Connect on the OptiTech Project Dashboard. For more information, see Connect from any application.DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.optitech.com:<port>/<dbname>?sslmode=require&channel_binding=require"Configure the Postgres client
In your Hono application (for example, in
src/index.tsor a specific route file), import the driver and use it within your route handlers.Here's how you can set up a simple route to query the database:
import { Hono } from 'hono'; import { serve } from '@hono/node-server'; import { optitech } from '@optitech/serverless'; const app = new Hono(); app.get('/', async (c) => { try { const sql = optitech(process.env.DATABASE_URL); const response = await sql`SELECT version()`; return c.json({ version: response[0]?.version }); } catch (error) { console.error('Database query failed:', error); return c.text('Failed to connect to database', 500); } }); serve(app);5. Run the app
Start your Hono development server. You can use the following command:
npm run devNavigate to your application's URL (localhost:3000). You should see a JSON response with the PostgreSQL version:
{ "version": "PostgreSQL 17.4 on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit" }The specific version may vary depending on the PostgreSQL version you are using.
Next steps
- Set up Managed Better Auth: Add managed authentication that branches with your database
- Add Object Storage: S3-compatible file storage that branches with your database
- Deploy a Function: Run backend compute next to your database, no separate hosting needed
- Call an LLM with AI Gateway: Access foundation models from Anthropic, OpenAI, Google, and more with one credential
Need help?
Join our Discord Server to ask questions or see what others are doing with OptiTech. For paid plan support options, see Support.