Guide/guides

Glossary

Short definitions for common terms in the Guren docs.

Glossary

Short definitions for common terms in the Guren docs.

Stack

  • Bun: JavaScript/TypeScript runtime used to run and build the app.
  • Hono: Lightweight HTTP server; Guren builds its routing and controllers on top.
  • Inertia.js: Bridges server responses and SPA navigation by sending page props.
  • React: UI library used for pages.
  • Vite: Frontend dev server and build tool.
  • Drizzle ORM: Type-safe ORM; Guren models connect to Drizzle schemas.

App structure

  • MVC: Model, View, Controller separation.
  • Route: A path + HTTP method mapping to a controller or handler.
  • Controller: Class that handles requests and returns responses.
  • Model: Class tied to a database table via static table.
  • View: React page in resources/js/pages/.
  • Middleware: Code that runs before or after a request.
  • Provider: Boot-time registration for services and configuration.
  • Context: Hono Context with request and response helpers.

Database

  • ORM: Maps tables to classes.
  • Schema: Table definitions in db/schema.ts.
  • Migration: SQL files that apply schema changes.
  • Seeder: Script to insert sample data.
  • Database URL: Connection string in .env as DATABASE_URL.
  • RQB (Relational Query Builder): Drizzle query builder for joins and aggregates.
  • Eager load: Fetch related records in one go (e.g. with()).

Frontend

  • SPA: Single page app navigation without full reloads.
  • SSR: Server-side rendering for the first HTML response.
  • Props: Data passed to React components.
  • HMR: Hot reload of changes during development.
  • Inertia page: A React component referenced by this.inertia(...).

CLI

  • create-guren-app: CLI to scaffold a new app.
  • guren CLI: bunx guren make:* commands for generators and tooling.

Start here