74 lines
1.0 KiB
Markdown
74 lines
1.0 KiB
Markdown
# Web Boilerplate
|
|
|
|
Generic Next.js Pages Router boilerplate built from the shared stack used in `resonate-gallery`.
|
|
|
|
## Stack
|
|
|
|
- Next.js 16 Pages Router
|
|
- React 19
|
|
- Tailwind CSS 4
|
|
- tRPC 11
|
|
- Prisma 7 with PostgreSQL
|
|
- Better Auth email/password authentication
|
|
- Biome
|
|
|
|
## Models
|
|
|
|
- `User`
|
|
- `Session`
|
|
- `Account`
|
|
- `Verification`
|
|
- `Post`
|
|
- `Comment`
|
|
|
|
## Routes
|
|
|
|
- Public: `/`, `/posts`, `/posts/[postId]`, `/sign-in`, `/sign-up`
|
|
- Protected: `/dashboard`, `/account`
|
|
|
|
## Bootstrap
|
|
|
|
1. Install dependencies.
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
2. Copy the example environment file and set a real PostgreSQL connection string plus Better Auth secret.
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
3. Apply the committed migration or generate a local dev database from scratch.
|
|
|
|
```bash
|
|
pnpm db:migrate
|
|
```
|
|
|
|
Or for local development:
|
|
|
|
```bash
|
|
pnpm db:generate
|
|
```
|
|
|
|
4. Regenerate the Prisma client if needed.
|
|
|
|
```bash
|
|
pnpm exec prisma generate
|
|
```
|
|
|
|
5. Run the app.
|
|
|
|
```bash
|
|
pnpm dev
|
|
```
|
|
|
|
## Validation
|
|
|
|
```bash
|
|
pnpm typecheck
|
|
pnpm check
|
|
pnpm build
|
|
```
|