Skip to content

amorriscode/elysia-starter

Repository files navigation

Elysia Starter

A batteries included API started built with ElysiaJS.

Deploy on Railway

🔋 Batteries Included

🚀 Getting Started

To get started with this template, ensure that Bun is installed.

curl -fsSL https://bun.sh/install | bash

Development

  1. Install dependencies
bun install
  1. Start the development server
bun run dev

Open http://localhost:3000/ with your browser to see the result.

🏛️ Architecture

TypeIDs

This starter uses TypeIDs which are type-safe, K-sortable, unique identifiers inspired by Stripe IDs. An example ID for a user would be user_123456.

API Resources

Each API resource (eg. users) are defined in src/resources. Each resource has a router.ts and service.ts. All the endpoints for the resource are defined in router.ts and all of the business logic ends up in service.ts.

Deployment

This template is meant to be deployed with Railway. When deploying the template, use DATABASE_URL=${{Postgres.DATABASE_URL}} to configure the API to connect to the Postgres instance that comes with your deployment.

🗺️ Roadmap

  • JWT authentication
  • Sane HTTP server defaults (CORS, etc.)
  • Example tests
  • Docker support
  • Monorepo with Next.js or Tanstack
  • Code generation
  • Logging

About

A batteries included starter for building an API using bun and Elysia

Topics

Resources

License

Stars

Watchers

Forks