Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joker666/hono-starter
🚀 hono-starter - A Typescript API with Node + Hono + Drizzle + MySQL + BullMQ
https://github.com/joker666/hono-starter
boilerplate bullmq clean-architecture docker-compose drizzle-orm env hono honojs jwt mysql nodejs pino-logs starter-kit typescript zod-validation
Last synced: 6 days ago
JSON representation
🚀 hono-starter - A Typescript API with Node + Hono + Drizzle + MySQL + BullMQ
- Host: GitHub
- URL: https://github.com/joker666/hono-starter
- Owner: Joker666
- License: mit
- Created: 2024-05-07T18:30:38.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-09T22:03:47.000Z (21 days ago)
- Last Synced: 2025-01-24T14:09:45.054Z (6 days ago)
- Topics: boilerplate, bullmq, clean-architecture, docker-compose, drizzle-orm, env, hono, honojs, jwt, mysql, nodejs, pino-logs, starter-kit, typescript, zod-validation
- Language: TypeScript
- Homepage:
- Size: 157 KB
- Stars: 79
- Watchers: 2
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hono Starter
A Hono starter boilerplate for TypeScript with minimal dependencies and a clean architecture. All dependencies are
initiated at the start of the application and passed to the controllers and services. A swagger API doc is attached in
the static folder: `openapi.yaml`.### API Doc powered by Swagger UI
### Database browser powered by Drizzle Studio
## Stack
- Authentication: JWT
- Validation: Zod
- Worker: BullMQ
- Logging: Pino
- ORM: Drizzle
- Queue: Redis
- DB: MySQL
- Runtime: NodeJS
- Framework: Hono
- Formatter: Biome
- API Doc: Swagger
- Language: TypeScript
- Package Manager: PNPM## Install dependencies
```bash
pnpm install
pnpm install -g pino-pretty
```## Migration
Create a new file `.env` in the root folder and copy contents from the `.env.template` file.
```bash
docker compose up -d
```### Generate
```bash
pnpm run db:generate
```### Migrate
```bash
pnpm run db:migrate
```## Run the app
```bash
pnpm run dev
open http://localhost:3000/doc
```## API Doc
The OpenAPI YAML doc is in the `static` folder.
If you need the JSON file, it can be generated with the help of `yq`.
https://github.com/mikefarah/yq
```bash
yq eval -o=json static/openapi.yaml > static/openapi.json
```And the JSON doc will be generated.
## Drizzle Studio For Database Browsing
```bash
pnpm drizzle-kit studio
open https://local.drizzle.studio/
```