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: 14 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 (6 months ago)
- Default Branch: main
- Last Pushed: 2024-10-13T03:28:22.000Z (about 1 month ago)
- Last Synced: 2024-11-01T11:04:21.539Z (14 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: 147 KB
- Stars: 38
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
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
- API Doc: Swagger
- Formatter: Prettier
- 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/
```