Giter VIP home page Giter VIP logo

buddyboard's Introduction

BuddyBoard

BuddyBoard is a real-time collaborative drawing application where users can create virtual boards, invite others to join using a unique board code, and draw on the canvas together in real-time.

๐Ÿ”ง Usage

Users can create a new board, which will generate a unique board code. This code can be shared with others who can join the board using the provided code. All participants can then draw on the canvas and see each other's drawing actions happening in real-time. The color and thickness of the brush can be modified as per user preference.

Board creators can see the list of participants currently on their board, enabling a sense of collaborative work. The app is designed to be responsive and can be used on both mobile and desktop devices.

๐ŸŒŽ Functionality

  • Create a new collaborative drawing board
  • Join an existing board using a unique board code
  • Draw on the canvas in real-time with other participants
  • Modify brush color and thickness
  • View current participants on the board
  • Real-time synchronization of all drawings

๐Ÿ’ป Technologies

  • Node.js for the backend server
  • Express.js for handling server-side routing
  • Socket.IO for enabling real-time, bidirectional, and event-based communication
  • Fabric.js for canvas creation and manipulation
  • HTML, CSS, JS frontend
  • Responsive design with media queries

โšก Real-Time Interactivity

BuddyBoard makes extensive use of WebSockets, a technology that enables full-duplex communication between the client and the server. This technology, used through the Socket.IO library, allows us to sync all drawing actions in real-time, providing a smooth and interactive user experience.

๐ŸŽจ Canvas Drawing

The heart of BuddyBoard is the canvas where users draw. This is handled using Fabric.js, a powerful and simple JavaScript HTML5 canvas library. Fabric.js provides an interactive object model on top of the canvas element that allows for manipulation and creation of complex scenes with a simple and consistent API. Fabric.js is used to handle the drawing functionalities, object serialization for easy network transmission, and enlivening objects on the client's canvas.

buddyboard's People

Contributors

ecthelionvi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.