/hadeda

Primary LanguageTypeScript

🐦 Hadeda

Modern Hypermedia Driven Application (HDA) Stack. Heavily inspired by BETH stack and the thoughts of HTMX, and this video From React To HTMX

The goal is to achieve something akin to Ruby on Rails' level of productivity and DX.

Quick start Resources

TODO

  • Develop plugin system
  • Improve htmx typesafety
  • glob import generation of barrel files for models and conntrollers

Features

  • Flexibility on DB choice (due to prisma)
  • typesafe
  • hot reload
  • Plugins - tailwind, picocss, alpinejs, _hyperscript - see all plugins here.

Uses

  • bun
  • elysia
  • typescript
  • prisma
  • htmx
  • _hyperscript
  • lucia

Development

--- Getting Started
# Copy .env file and fill out the values
cp .env.example .env

# Install dependencies
bun install

# Create a db
bun run db:push

# Run the development server
bun dev

--- Other scripts

# Format schema and code
bun fmt

--- DB Scripts

# Studio
bun run db:studio

# Migrations
bunx prisma migrate dev --name "init" --preview-feature

# Schema push
bun run db:push

Structure

  • src - Any file that associate with development of Elysia server.
    • components - Reusable JSX components
    • controllers - Instances which encapsulate multiple endpoints
    • models - Data Type Objects (DTOs) for Elysia instance
    • services - Composed of various plugins to be used as a Service Locator
    • utils - Utility functions
    • index.ts - Entry point for your Elysia server, ideal place for setting global plugin
    • types.d.ts - Shared TypeScript type

Generators

TBD

Deployment

TBD

Other Resources & Links