Skip to content

ishakantony/cellar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

301 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cellar

Personal developer vault for snippets, prompts, notes, links, images, and files.

Stack: React 19 + Vite + React Router + TanStack Query + Zustand · Hono + Drizzle ORM · Better Auth (with OIDC provider plugin) · PostgreSQL 17 · Tailwind v4 · Storybook · Vitest · Playwright · Bun workspaces.

Getting Started

docker compose up -d postgres
bun install
cp .env.example .env  # fill in BETTER_AUTH_SECRET (>= 32 chars)
bun dev

The first boot runs Drizzle migrations and seeds a demo user (demo@cellar.app / password123).

Workspace layout

apps/
  web/                 # Vite + React SPA
  api/                 # Hono server (Node.js)
packages/
  shared/              # Zod schemas, enums, helpers
e2e/                   # Playwright tests

Scripts

Command Description
bun dev Run shell + api in parallel
bun run build Build all packages in dependency order
bun test Vitest across all workspaces
bun run test-storybook Run stories as tests via @storybook/addon-vitest
bun run storybook Start Storybook on :6006
bun run e2e Run Playwright e2e tests
bun run db:generate Generate a new Drizzle migration
bun run db:migrate Apply pending migrations
bun run format / lint Prettier / ESLint
bun run check:all Format check + lint + tests + e2e + build

Deployment

A single Docker image serves both the API and the SPA from the same origin. On boot the server runs migrations, seeds (if empty), syncs OIDC clients (if their secrets are set), prints the startup config, then begins listening.

docker build -t cellar .
docker compose -f docker-compose.prod.yml up -d

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors