https://github.com/sarmad426/bun-react-hono
Full stack todo app built with Bun and Hono on the backend and React on the frontend
https://github.com/sarmad426/bun-react-hono
bun drizzle-orm honojs postgresql react19 tailwindcss todoapp typescript
Last synced: about 1 month ago
JSON representation
Full stack todo app built with Bun and Hono on the backend and React on the frontend
- Host: GitHub
- URL: https://github.com/sarmad426/bun-react-hono
- Owner: Sarmad426
- Created: 2025-04-30T10:36:19.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-02T18:24:31.000Z (about 1 year ago)
- Last Synced: 2025-06-23T00:39:17.989Z (12 months ago)
- Topics: bun, drizzle-orm, honojs, postgresql, react19, tailwindcss, todoapp, typescript
- Language: TypeScript
- Homepage:
- Size: 112 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Full Stack Todo app
This is a full stack todo app built with React, Bun.js, Hono, and Postgresql. Purpose of this
repository is to build a backend with hono js, use latest react 19 features and hooks, and use bun runtime and as a package manager as well.
## Tech Stack:
**Frontend**
- React 19
- Tailwind CSS
**Backend**
- Bun.js
- Hono.js
- Drizzle ORM
- Postgresql
**Why Bun:**
- Fastest Javascript runtime.
- Outperforms Node.js and Deno in performance benchmarks.
- Built-in package manager and bundler.
- Supports TypeScript and JSX out of the box.
- Built-in SQLite support.
- Supports Web APIs like fetch, WebSocket, and more.
- Supports ES modules and CommonJS.
- Built in testing framework.
**Why Hono:**
- Lightweight and a Fast Backend API framework (Faster and lightweight than express).
- Beats express in performance benchmarks.
**Why Drizzle ORM:**
- Fast, Lightweight, SQL-like, Type-safe ORM.
## Run the application
You can either create a docker image and run the application in a container or run it locally.
### Run Locally
**Run the backend:**
```bash
cd hono-backend
```
Install dependencies:
```bash
bun i
```
Create a `.env` file in the root directory and add the following environment variables:
```bash
DATABASE_URL=postgres://:@localhost:5432/
```
**Start database**
Ensure to create a database in local postgres. or you can use serverless neon. Check out drizzle docs for neon setup.
```bash
bun db:generate
bun db:push
```
Finally run the backend.
```bash
bun dev
```
Open this url on your browser:
## Run the frontend
```bash
cd react-frontend
```
Install dependencies:
```bash
bun i
```
Run the application:
```
bun dev
```
Open this url on your browser:
## Run with Docker Compose
Ensure you have docker and docker-compose installed.
```bash
docker compose up --build
```