Skip to content

Repository files navigation

THUNDER Stack ⚡

A high-performance monorepo boilerplate featuring Hono, Next.js, Expo (React Native), Better-Auth, and Drizzle ORM.


📂 Project Structure

thunder-stack/
├── client/
│   ├── expo/             # Mobile Client App (React Native + Expo Router) - [Package: mobile]
│   └── nextjs/           # Web Client App (Next.js + TailwindCSS) - [Package: nextjs]
├── server/
│   ├── db/               # Shared Database Package (Drizzle Schema, Migrations, & Services) - [Package: @attendance/db]
│   └── hono/             # Backend API Server (Hono + Cloudflare Workers / Wrangler) - [Package: server]
└── packages/
    ├── shared/           # Common Shared Configs & Utilities
    └── create-thunder-app # CLI bootstrap tool

🚀 Getting Started

📋 Prerequisites

  • NodeJS (v20+ recommended)
  • pnpm (v10+ recommended)

🛠️ Build & Dev Commands (Together/Global)

These commands run across the entire monorepo using Turbo to manage dependencies and concurrency efficiently.

Install All Dependencies

pnpm install

Start All Development Servers Concurrently

pnpm dev

Starts Next.js (port 3000), Hono Backend Server (port 8787), and Expo bundler concurrently.

Build All Projects in Monorepo

pnpm build

Typecheck All Projects

pnpm typecheck

🧩 Build & Dev Commands (Separate Projects)

You can run commands for specific workspaces using pnpm's --filter flag.

🗄️ Database (@attendance/db)

Commands are run from the root using workspace filtering:

  • Generate Migrations:
    pnpm db:generate
  • Run Migrations:
    pnpm db:migrate
  • Seed Database:
    pnpm db:seed

Alternatively, you can run them directly in the directory server/db:

# In server/db
pnpm run db:generate
pnpm run db:migrate
pnpm run db:seed

🌐 Next.js Web Client (nextjs)

  • Start Dev Server:
    pnpm --filter nextjs dev
  • Build Project:
    pnpm --filter nextjs build
  • Start Production Server:
    pnpm --filter nextjs start

📱 Expo Mobile Client (mobile)

  • Start Bundler:
    pnpm --filter mobile start
  • Run on Android:
    pnpm --filter mobile android
  • Run on iOS:
    pnpm --filter mobile ios

⚡ Hono Backend API Server (server)

  • Start Local Dev Server (Wrangler/Cloudflare Workers):
    pnpm --filter server dev
  • Deploy to Cloudflare:
    pnpm --filter server deploy

🧹 Utilities

  • Clean build/cache folders:
    pnpm run clean
  • Clean and Reinstall all dependencies:
    pnpm run ci

About

To Manage Event Attendance and Event Certificate Sending Workflows

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages