Files
pocket-pascal/README.md
dtoro 3785d08e97 Initial commit: installable PWA hello world
React + TypeScript + Tailwind v4 + shadcn/ui frontend (client), Express +
better-sqlite3 backend (server) in a pnpm workspace. Includes vite-plugin-pwa
manifest, service worker, and iOS install meta tags. GET /api/hello increments a
visit counter in SQLite; backend serves the built client in production.
2026-08-03 22:45:19 +02:00

48 lines
1.4 KiB
Markdown

# Pocket Pascal
A minimal, installable **Progressive Web App** that renders "Hello, World!" and
reads/writes a visit counter in **SQLite** via a small Express backend.
- **Frontend:** Vite + React + TypeScript + Tailwind v4 + shadcn/ui
- **Backend:** Express + TypeScript + better-sqlite3
- **PWA:** installable on Android (Chrome) and iOS (Safari), works offline
## Quick start
```bash
pnpm install
pnpm dev
```
Open <http://localhost:5173>. The Vite dev server proxies `/api` to the backend on
port 3001, and the visit counter increments on each load (proving the SQLite
round-trip).
## Production / install test
```bash
pnpm build
pnpm start
```
Open <http://localhost:3001> — the backend serves the built client. Use
DevTools → Application → Manifest to confirm PWA installability, then
"Add to Home Screen". (On a real device, off localhost, HTTPS is required.)
## Scripts
| Command | Description |
| --------------- | ---------------------------------------------- |
| `pnpm dev` | Run client + backend concurrently |
| `pnpm build` | Build both packages |
| `pnpm start` | Run the production backend (serves the client) |
| `pnpm lint` | Lint all packages |
| `pnpm typecheck`| Type-check all packages |
See [`AGENTS.md`](./AGENTS.md) for the full contributor guide.
## Requirements
- Node.js >= 22
- pnpm