Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/syhner/elysia-kickstart
ElysiaJS boilerplate with HTMX, Tailwind, Auth.js, Drizzle, CI. Deploy in one click to Railway or Vercel Edge Functions
https://github.com/syhner/elysia-kickstart
authjs boilerplate bun docker drizzle elysiajs github-actions htmx tailwindcss turso vercel-edge-functions
Last synced: 2 months ago
JSON representation
ElysiaJS boilerplate with HTMX, Tailwind, Auth.js, Drizzle, CI. Deploy in one click to Railway or Vercel Edge Functions
- Host: GitHub
- URL: https://github.com/syhner/elysia-kickstart
- Owner: syhner
- Created: 2023-09-12T11:46:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-04T15:55:05.000Z (9 months ago)
- Last Synced: 2024-10-31T09:41:47.479Z (2 months ago)
- Topics: authjs, boilerplate, bun, docker, drizzle, elysiajs, github-actions, htmx, tailwindcss, turso, vercel-edge-functions
- Language: TypeScript
- Homepage: https://elysia-kickstart.vercel.app
- Size: 403 KB
- Stars: 120
- Watchers: 2
- Forks: 25
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome - syhner/elysia-kickstart - ElysiaJS boilerplate with HTMX, Tailwind, Auth.js, Drizzle, CI. Deploy in one click to Railway or Vercel Edge Functions (TypeScript)
- awesome-elysia - elysia-kickstart - ElysiaJS boilerplate with HTMX, Tailwind, Auth.js, Drizzle, CI, and Docker to deploy anywhere (including Railway and Vercel Edge Functions). (Boilerplates)
README
## elysia-kickstart
Feature packed ElysiaJS boilerplate. Edge ready. Deploy with one click.
Taken inspiration from https://github.com/ethanniser/the-beth-stack.
## 📚 Features
### Core
- 🏗️ [**TypeScript**](https://www.typescriptlang.org/) - Configured to maximize type safety
- 🐉 [**ElysiaJS**](https://elysiajs.com/) - Fast and Bun friendly server framework
- 📐 [**HTMX**](https://www.typescriptlang.org/) - High power tools for HTML
- 💽 [**Drizzle**](https://orm.drizzle.team/) - ORM with maximal type safety
- 🔒 [**Auth.js**](https://authjs.dev) - Flexible and secure authentication
- 🔗 integrates with Drizzle to store auth data### Development
- 📏 [**ESLint**](https://eslint.org/) - Consistent code standards
- ✨ [**Prettier**](https://prettier.io/) - Consistent code styling
- 🎨 [**Tailwind CSS**](https://tailwindcss.com/) - Utility-first CSS framework
- 💻 [**VS Code configurations**](https://code.visualstudio.com/) - Configurations for extensions### Deployment
- 🐳 [**Docker**](https://www.docker.com/) - (local and production) Docker-compose and Dockerfiles for running anywhere
- 🔄 [**GitHub Actions**](https://github.com/features/actions) - Robust CI/CD## 🌱 Getting started
🚀 **Option 1: Clone and deploy**
- To Railway (deployed with Docker)
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/UguE-M?referralCode=Q9UMnd)
- To Vercel Edge Functions (see the [Railway template](https://railway.app/template/UguE-M?referralCode=Q9UMnd) for required environment variables, as well as `RUNTIME=edge`)
[![Vercel](https://vercel.com/button)](https://vercel.com/new/clone?s=https%3A%2F%2Fgithub.com%2FSyhner%2Felysia-kickstart)
📋 **Option 2: Clone and run locally**
1. [Fork this repository](https://github.com/syhner/elysia-kickstart/fork) (uncheck 'Copy the `main` branch only` if you are interested in other branches / feature sets)
2. Clone your new repository
3. Install dependencies and run the development server- with [bun](https://bun.sh/docs/installation)
```sh
bun install
bun run dev
```- or with [Docker](https://docs.docker.com/get-docker/)
```sh
docker-compose --file docker/dev/docker-compose.yml up
```## ⚙️ Configuration
### [Docker](https://www.docker.com/)
- [`.dockerignore`](.dockerignore)
- [`docker/`](docker/) - Dockerfile and docker-compose.yml for development and production### [Drizzle](https://orm.drizzle.team/)
- [`src/db/`](src/db/)
- [`src/lib/db.ts`](src/lib/db.ts)
- [`drizzle.config.ts`](drizzle.config.ts)### [ESLint](https://eslint.org/)
- [`.eslintrc.json`](.eslintrc.json)
### [GitHub Actions](https://github.com/features/actions)
- [`.github/workflows/ci.yml`](.github/workflows/ci.yml) - type-checking and linting (hence these errors are ignored in [`next.config.mjs`](next.config.mjs))
### [HTMX](https://htmx.org/)
- [`public/[email protected]`](public/[email protected])
- [`types/htmx.d.ts`](types/htmx.d.ts) - typed HTMX attributes for intellisense and autocompletion### [NextAuth](https://next-auth.js.org/)
- [`src/app/api/auth/index.ts`](src/app/api/auth/index.ts)
- [`src/app/components/auth.tsx`](src/app/components/auth.tsx)
- [`src/db/schemas/auth.ts`](src/db/schemas/auth.ts) — store auth data (users, accounts, sessions, verification tokens) in database
- [`src/hooks/isAuthenticated.ts`](src/hooks/isAuthenticated.ts)
- [`src/lib/auth.ts`](src/lib/auth.ts)### [Prettier](https://prettier.io/)
- [`.eslintrc.json`](.eslintrc.json)
- [`.prettierignore`](.prettierignore)
- [`.prettierrc.json`](.prettierrc.json)### [Tailwind CSS](https://tailwindcss.com/)
- [`src/styles/globals.css`](src/styles/globals.css)
- [`tailwind.config.js`](tailwind.config.js)### [TypeScript](https://www.typescriptlang.org/)
- [`tsconfig.json`](tsconfig.json) - configured for maximum type-safety
- [`types/reset.d.ts`](types/reset.d.ts) - using [ts-reset](https://github.com/total-typescript/ts-reset) to increase type-safety### [Vercel Edge Functions](https://vercel.com/features/edge-functions)
- [`api/index.tsx`](api/index.tsx)
- [`scripts/transform-paths.ts`](scripts/transform-paths.ts) - transforms all relative imports to absolute imports inside the src/ directory
- [`vercel.json`](vercel.json)### [VS Code](https://code.visualstudio.com/)
- [`.vscode/extensions.json`](.vscode/extensions.json) - recommended workspace extensions