Feature packed ElysiaJS boilerplate. Edge ready. Deploy with one click.
Taken inspiration from https://github.com/ethanniser/the-beth-stack.
- 🏗️ TypeScript - Configured to maximize type safety
- 🐉 ElysiaJS - Fast and Bun friendly server framework
- 📐 HTMX - High power tools for HTML
- 💽 Drizzle - ORM with maximal type safety
- 🔒 Auth.js - Flexible and secure authentication
- 🔗 integrates with Drizzle to store auth data
- 📏 ESLint - Consistent code standards
- ✨ Prettier - Consistent code styling
- 🎨 Tailwind CSS - Utility-first CSS framework
- 💻 VS Code configurations - Configurations for extensions
- 🐳 Docker - (local and production) Docker-compose and Dockerfiles for running anywhere
- 🔄 GitHub Actions - Robust CI/CD
🚀 Option 1: Clone and deploy
-
To Railway (deployed with Docker)
-
To Vercel Edge Functions (see the Railway template for required environment variables, as well as
RUNTIME=edge
)
📋 Option 2: Clone and run locally
- Fork this repository (uncheck 'Copy the
main
branch only` if you are interested in other branches / feature sets) - Clone your new repository
- Install dependencies and run the development server
-
with bun
bun install bun run dev
-
or with Docker
docker-compose --file docker/dev/docker-compose.yml up
.dockerignore
docker/
- Dockerfile and docker-compose.yml for development and production
.github/workflows/ci.yml
- type-checking and linting (hence these errors are ignored innext.config.mjs
)
public/htmx@1.9.5.min.js
types/htmx.d.ts
- typed HTMX attributes for intellisense and autocompletion
src/app/api/auth/index.ts
src/app/components/auth.tsx
src/db/schemas/auth.ts
— store auth data (users, accounts, sessions, verification tokens) in databasesrc/hooks/isAuthenticated.ts
src/lib/auth.ts
tsconfig.json
- configured for maximum type-safetytypes/reset.d.ts
- using ts-reset to increase type-safety
api/index.tsx
scripts/transform-paths.ts
- transforms all relative imports to absolute imports inside the src/ directoryvercel.json
.vscode/extensions.json
- recommended workspace extensions