A Google Docs clone built with Next.js 15 and React 19.
- Node.js (v18 or higher recommended)
- npm or bun
-
Install dependencies:
Using npm:
npm install --legacy-peer-deps # Required due to React 19 RCUsing bun:
bun install
-
Set up your environment variables:
cp .env.example .env.local
Then fill in the required environment variables in
.env.local -
Start the development servers:
You need to run both commands simultaneously in different terminal windows:
Terminal 1 - Next.js server:
npm run dev # or bun devTerminal 2 - Convex server:
npx convex dev # or bunx convex dev
Open http://localhost:3000 with your browser to see the result.
This project uses React 19 (Release Candidate) with Next.js 15. Due to React 19 being in RC phase, some dependencies haven't been updated yet to officially support it. If you're using npm, you'll need to install dependencies with the --legacy-peer-deps flag. This has been tested and works correctly.
Users of bun can install normally without any special flags.
To deploy on Vercel, use the following commands:
-
Replace the build command:
npx convex deploy --cmd 'npm run build' # or bunx convex deploy --cmd 'bun build'
-
Ensure the install command is set to:
npm install --legacy-peer-deps
The following environment variables are required:
CONVEX_DEPLOYMENT&NEXT_PUBLIC_CONVEX_URL: Automatically generated by running:npx convex dev # or bunx convex devNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: Clerk public keyCLERK_SECRET_KEY: Clerk secret keyLIVEBLOCKS_SECRET_KEY: Liveblocks secret key
- Next.js 15
- React 19 (RC)
- Convex
- Clerk
- Liveblocks