Whiteboard Tailwind Templates

Whiteboard

A simple digital whiteboard built with Next.js and Tailwind CSS โ€” draw, sketch, and organize your ideas visually.

๐Ÿง  Whiteboard App

A sleek and intuitive digital whiteboard app built with Next.js and Tailwind CSS. Perfect for sketching ideas, diagrams, flows, and everything in betweenโ€”right in your browser.


โœจ Features

  • ๐Ÿ–Š๏ธ Freehand Drawing with Multiple Colors
  • ๐Ÿ”ฒ Shapes (Rectangle, Circle, Diamond)
  • โžก๏ธ Arrow Drawing & Connectors
  • ๐Ÿ“ Text Tool
  • โ™ป๏ธ Undo/Redo Support
  • ๐ŸŽจ Color Palette Tool
  • ๐Ÿ’พ Save and Export Whiteboard
  • ๐Ÿ” Grid Background with Snapping

๐Ÿš€ Getting Started

1. Clone the Repository

git clone https://github.com/hariop12/whiteboard.git
cd whiteboard

2. Install Dependencies

npm install

If you encounter peer dependency issues, try with:
npm install --legacy-peer-deps

3. Configure Environment Variables

  1. Rename the sample.env file to .env
  2. Fill in the following environment variables:
NEXTAUTH_SECRET=your_generated_nextauth_secret
MONGODB_URI=your_mongodb_connection_string

๐Ÿ” Generating a NEXTAUTH_SECRET

You can generate a secure secret using node with crypto:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Paste the output as your NEXTAUTH_SECRET.


4. Start the Dev Server

npm run dev

Then open http://localhost:3000 in your browser.


๐Ÿ› ๏ธ Tech Stack

  • Framework: Next.js (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS + PostCSS
  • State Management: React + Custom Contexts
  • Canvas Logic: Custom hooks and drawing logic

๐Ÿ—‚ Folder Structure

whiteboard/
โ”‚
โ”œโ”€โ”€ app/                 # Next.js App Router pages & layout
โ”œโ”€โ”€ components/          # Reusable UI components (Toolbars, Buttons, etc.)
โ”œโ”€โ”€ contexts/            # React Contexts (Drawing, Theme, etc.)
โ”œโ”€โ”€ hooks/               # Custom hooks (drawing, shape logic, etc.)
โ”œโ”€โ”€ lib/                 # Utility functions and helpers
โ”œโ”€โ”€ types/               # TypeScript types
โ”œโ”€โ”€ public/              # Static assets
โ”œโ”€โ”€ styles/              # Global styles and Tailwind base
โ”‚
โ”œโ”€โ”€ .env                 # Environment variables
โ”œโ”€โ”€ tailwind.config.ts   # Tailwind config
โ”œโ”€โ”€ postcss.config.mjs   # PostCSS config
โ”œโ”€โ”€ next.config.mjs      # Next.js config
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ package-lock.json

๐Ÿ”ฎ Roadmap

  • ๐ŸŽฏ Real-time Multiplayer Collaboration
  • ๐Ÿ‘ฅ Authentication & Persistent Boards
  • ๐Ÿ“Š Whiteboard Templates (Mindmap, Flowchart, etc.)
  • ๐Ÿ•’ Version Control & History Playback
  • ๐Ÿ“ฅ Import/Export Boards as JSON

๐Ÿ’ฌ Contributing

Currently a solo project, but contributions are welcome in the future! Feel free to fork the repo and explore ๐Ÿ’™


๐Ÿ“ƒ License

This project is licensed under the MIT License


๐Ÿ™‹ Author

Made with โ˜• and โ˜๏ธ by Harish

Top categories

Loading Svelte Themes