Skip to content

Commit 7e6489e

Browse files
committed
docs: improve README clarity
1 parent d0ff6ae commit 7e6489e

File tree

1 file changed

+44
-27
lines changed

1 file changed

+44
-27
lines changed

README.md

Lines changed: 44 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@
3636
<img src="https://img.shields.io/github/actions/workflow/status/techfusionid/elysia-production-template/ci.yml?label=CI&logo=github&style=flat" alt="CI">
3737
</a>
3838
<img src="https://img.shields.io/badge/OpenAPI-documented-6BA539?logo=openapi&style=flat" alt="OpenAPI">
39+
<a href="https://github.com/techfusionid/elysia-production-template/generate">
40+
<img src="https://img.shields.io/badge/use%20this-template-2ea44f?style=flat-square" />
41+
</a>
3942
</p>
4043

4144
## Features
@@ -55,7 +58,7 @@
5558

5659
## Why use this starter?
5760

58-
**Elysia.js is fast.** It's currently the fastest framework in the Bun ecosystem, with [benchmarks showing performance](https://elysiajs.com/at-glance.html#performance) that can match Golang and Rust frameworks.
61+
**Elysia.js is fast.** It's currently one of the fastest frameworks in the Bun ecosystem, with [benchmarks showing performance](https://elysiajs.com/at-glance.html#performance) that can match Golang and Rust frameworks (based on TechEmpower Benchmarks).
5962

6063
**The problem?** Setting up Authentication, ORM, Docker, and logging from scratch for a production-ready app takes hours.
6164

@@ -68,9 +71,21 @@ This boilerplate provides a **simple, ready-to-use, production-grade foundation*
6871
- Keep full control over configuration while avoiding boilerplate fatigue
6972
- Use modern, type-safe tooling without framework lock-in
7073

74+
---
75+
7176
## Quick Start
7277

73-
**Clone the repo:**
78+
### 1. Use This Template (Recommended)
79+
80+
Click the green **"Use this template"** button at the top of this repo — or use the direct link:
81+
82+
👉 [**Create from template**](https://github.com/techfusionid/elysia-production-template/generate)
83+
84+
> Creates a clean repo without git history.
85+
86+
### 2. Clone the repository (Alternative)
87+
88+
If you prefer cloning manually:
7489

7590
```bash
7691
git clone https://github.com/techfusionid/elysia-production-template.git
@@ -96,7 +111,7 @@ bun run dev
96111
**Or with Docker:**
97112

98113
```bash
99-
docker-compose up
114+
docker compose up
100115
```
101116

102117
Your app is now running:
@@ -123,6 +138,7 @@ src/
123138
124139
tests/ # Integration tests
125140
```
141+
126142
> 📌 **Note**
127143
> The `posts` module and its API endpoints are provided as example CRUD implementations.
128144
> You can safely modify or remove them if not needed.
@@ -131,19 +147,19 @@ tests/ # Integration tests
131147

132148
Key environment variables (see `.env.example` for full list):
133149

134-
| Variable | Description | Required |
135-
| ---------------------------- | ------------------------------------------------------------- | --------------------- |
136-
| `NODE_ENV` | Runtime environment (`development`, `production`, `test`) | No (default: `development`) |
137-
| `HOST` | Server bind address | No (default: `0.0.0.0`) |
138-
| `PORT` | Server port | No (default: `3000`) |
139-
| `DATABASE_URL` | PostgreSQL connection string | Yes |
140-
| `BETTER_AUTH_SECRET` | Auth secret key (generate: `openssl rand -base64 32`) | Yes |
141-
| `BETTER_AUTH_URL` | Base URL for auth callbacks | Yes |
142-
| `ENABLE_AUTH` | Enable/disable auth module | No (default: `true`) |
143-
| `REQUIRE_EMAIL_VERIFICATION` | Require email verification before login | No (default: `false`) |
144-
| `ENABLE_RATE_LIMITER` | Enable/disable rate limiting | No (default: `true`) |
145-
| `LOG_LEVEL` | Log level: `fatal`, `error`, `warn`, `info`, `debug`, `trace` | No (default: `info`) |
146-
| `CORS_ORIGIN` | Allowed origins (comma-separated) | No (default: `http://localhost:3000,http://localhost:5173`) |
150+
| Variable | Description | Required |
151+
| ---------------------------- | ------------------------------------------------------------- | ----------------------------------------------------------- |
152+
| `NODE_ENV` | Runtime environment (`development`, `production`, `test`) | No (default: `development`) |
153+
| `HOST` | Server bind address | No (default: `0.0.0.0`) |
154+
| `PORT` | Server port | No (default: `3000`) |
155+
| `DATABASE_URL` | PostgreSQL connection string | Yes |
156+
| `BETTER_AUTH_SECRET` | Auth secret key (generate: `openssl rand -base64 32`) | Yes |
157+
| `BETTER_AUTH_URL` | Base URL for auth callbacks | Yes |
158+
| `ENABLE_AUTH` | Enable/disable auth module | No (default: `true`) |
159+
| `REQUIRE_EMAIL_VERIFICATION` | Require email verification before login | No (default: `false`) |
160+
| `ENABLE_RATE_LIMITER` | Enable/disable rate limiting | No (default: `true`) |
161+
| `LOG_LEVEL` | Log level: `fatal`, `error`, `warn`, `info`, `debug`, `trace` | No (default: `info`) |
162+
| `CORS_ORIGIN` | Allowed origins (comma-separated) | No (default: `http://localhost:3000,http://localhost:5173`) |
147163

148164
> `NODE_ENV` is used to adjust logging visual, testing, and runtime behavior.
149165
@@ -164,13 +180,15 @@ Log verbosity can be controlled using the `LOG_LEVEL` environment variable.
164180
bun run dev # Start dev server with hot reload
165181
```
166182

183+
---
184+
167185
**🐳 Local Development with Docker PostgreSQL**
168186

169187
For local development, it's recommended to run PostgreSQL via Docker
170188
while keeping the API running locally with Bun.
171189

172190
```bash
173-
docker-compose up -d postgres
191+
docker compose up -d postgres
174192
```
175193

176194
**Production:**
@@ -185,17 +203,19 @@ bun run start # Start production server
185203
**Docker Compose**
186204

187205
Run API + PostgreSQL fully inside Docker:
206+
188207
```bash
189-
docker-compose up
190-
docker-compose up --build
191-
docker-compose down
208+
docker compose up
209+
docker compose up --build
210+
docker compose down
192211
```
193212

194213
View compose logs:
214+
195215
```bash
196-
docker-compose logs -f
197-
docker-compose logs -f api
198-
docker-compose logs -f postgres
216+
docker compose logs -f
217+
docker compose logs -f api
218+
docker compose logs -f postgres
199219
```
200220

201221
**Database & Migration (Drizzle):**
@@ -374,7 +394,6 @@ app.use(yourModule);
374394

375395
---
376396

377-
378397
## Deployment
379398

380399
This template is container-ready and works well with most Docker-based platforms.
@@ -388,7 +407,7 @@ This project aims to stay **simple, production-focused, and easy to extend**, so
388407

389408
---
390409

391-
## How to contribute
410+
### How to contribute
392411

393412
1. Fork this repository
394413
2. Create a new branch from `main`
@@ -426,8 +445,6 @@ Yes. Includes rate limiting, structured logging, error handling, health checks,
426445
- Ensure HTTPS is handled by a reverse proxy or your hosting platform (nginx, Caddy, or managed TLS)
427446
</details>
428447

429-
430448
## License
431449

432450
[MIT](LICENSE)
433-

0 commit comments

Comments
 (0)