Monorepo for a blog application with:
backend: Fastify + tRPC + Drizzle ORM + SQLitefrontend: React + Vite + Tailwind CSS + Heroiconsshared: shared schemas/types
This repository uses pnpm workspaces.
- Workspace config:
pnpm-workspace.yaml - Root scripts are in
package.json
- Node.js 20+
- pnpm 9+
pnpm installRun backend and frontend together:
pnpm run devRun only backend:
pnpm run dev:backendRun only frontend:
pnpm run dev:frontendTypecheck all packages:
pnpm run typecheckBuild all packages:
pnpm run buildRun tests:
pnpm run testRun lint:
pnpm run lint.
├── backend/
├── frontend/
├── shared/
├── pnpm-workspace.yaml
└── package.json
- Frontend styling is based on Tailwind CSS.
- UI direction follows Tailwind UI Catalyst patterns.
- Icons use
@heroicons/react.