Skip to content

Virtual whiteboard for sketching hand-drawn like diagrams

License

Notifications You must be signed in to change notification settings

b310-digital/excalidraw

 
 

Repository files navigation

Excalidraw without firebase

This is a fork from the excalidraw project with changes inspired and partly taken from Kilian Decaderincourt to enable support for rooms without using firebase.

Setup with docker

Please copy the .env.development.default or .env.production.default file to .env (or with environment without default at the end) and change it according to your needs, see react-scripts.

Development

docker-compose up -d
docker-compose exec excalidraw yarn install
docker-compose exec excalidraw yarn start

Hint: Collab mode requires a secure context (https). Localhost works as well, but not http over local network.

Commands

Command Description
yarn Install the dependencies
yarn start Run the project
yarn fix Reformat all files with Prettier
yarn test Run tests
yarn test:update Update test snapshots
yarn test:code Test for formatting with Prettier

Production

docker-compose -f docker-compose-prod.yml up -d

Additional licence

The excalidraw logo in this repo – created by Verry – is licenced under CC BY 3.0 Unported.

Excalidraw logo: Sketch handrawn like diagrams.

Virtual whiteboard for sketching hand-drawn like diagrams.
Collaborative and end-to-end encrypted.

Follow Excalidraw on Twitter Chat with us on Discord


Excalidraw is released under the MIT license. npm downloads/month PRs welcome! Chat on Discord Follow Excalidraw on Twitter

Product showcase

Create beautiful hand-drawn like diagrams, wireframes, or whatever you like.

Features

The Excalidraw editor (npm package) supports:

  • 💯 Free & open-source.
  • 🎨 Infinite, canvas-based whiteboard.
  • ✍️ Hand-drawn like style.
  • 🌓 Dark mode.
  • 🏗️ Customizable.
  • 📷 Image support.
  • 😀 Shape libraries support.
  • 👅 Localization (i18n) support.
  • 🖼️ Export to PNG, SVG & clipboard.
  • 💾 Open format - export drawings as an .excalidraw json file.
  • ⚒️ Wide range of tools - rectangle, circle, diamond, arrow, line, free-draw, eraser...
  • ➡️ Arrow-binding & labeled arrows.
  • 🔙 Undo / Redo.
  • 🔍 Zoom and panning support.

Excalidraw.com

The app hosted at excalidraw.com is a minimal showcase of what you can build with Excalidraw. Its source code is part of this repository as well, and the app features:

  • 📡 PWA support (works offline).
  • 🤼 Real-time collaboration.
  • 🔒 End-to-end encryption.
  • 💾 Local-first support (autosaves to the browser).
  • 🔗 Shareable links (export to a readonly link you can share with others).

We'll be adding these features as drop-in plugins for the npm package in the future.

Quick start

Note: following instructions are for installing the Excalidraw npm package when integrating Excalidraw into your own app. To run the repository locally for development, please refer to our Development Guide.

npm install react react-dom @excalidraw/excalidraw

or via yarn

yarn add react react-dom @excalidraw/excalidraw

Check out our documentation for more details!

Contributing

Integrations

Who's integrating Excalidraw

Google CloudMetaCodeSandboxObsidian ExcalidrawReplitSliteNotionHackerRank • and many others

Sponsors & support

If you like the project, you can become a sponsor at Open Collective or use Excalidraw+.

Thank you for supporting Excalidraw

Last but not least, we're thankful to these companies for offering their services for free:

Vercel Sentry Crowdin

Developers

You can integrate Excalidraw into your app by installing our npm component.

Visit our documentation on https://docs.excalidraw.com.

Who's integrating Excalidraw

Google CloudMetaCodeSandboxObsidian ExcalidrawReplitSliteNotionHackerRank

About

Virtual whiteboard for sketching hand-drawn like diagrams

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 88.1%
  • SCSS 4.8%
  • MDX 4.3%
  • JavaScript 2.5%
  • HTML 0.3%
  • CSS 0.0%