Giter Club home page Giter Club logo

realm-draw's Introduction

Realm Draw

A Collaborative Drawing App, where multiple users can draw to a shared canvas at the same time.

Screenshot

CI Status GitHub license

The demo application seen in the Realm Platform launch video, Realm Draw is a real-time collaborative drawing program available for Android, iOS and Xamarin. Any number of users may draw on a single shared canvas at any given moment with the strokes appearing on all devices in real time.

Features

  • Allows multiple users to contribute drawings to a shared canvas in real-time.
  • Canvas can be reset by shaking the device briefly.
  • Can connect to any running instance of Realm Object Server.

Requirements

iOS

  • iOS 9.0 and above
  • Xcode 8.3

Android

  • Android 4.0.3

Xamarin

  • Android 4.0.3
  • iOS 9.3

ROS

  • Realm Platform / Realm Object Server 2.0 and above

Realm Platform

This application demonstrates features of the Realm Platform and needs to have a working instance of the Realm Object Server version 2.x to make data available between instances of the Draw app. The Realm Object Server can be installed via npm as a node application for macOS or Linux. Please see the installation instructions. If you already got Node.js installed, it's a one-liner.

Realm Studio

Another useful tool is Realm Studio which is available for macOS, Linux, Windows and allows developers to inspect and manage Realms and the Realm Object Server. Realm Studio is recommended for all developers and can be downloaded from the Realm web site.

Building and Running

Follow the README files in the platform-specific subdirectory of this repository:

Connecting to the Realm Object Server

When launching the app each time, you'll be presented with a login form in order to connect to the right Realm Object Server instance.

For the server URL field, you may simply enter localhost if you're running out of the iOS Simulator with the Realm Object Server at the same time. For iOS devices running on the same network as that Mac, you can alt-click on the Wi-Fi icon in the macOS status bar to get the Mac's local IP address. You can then manually enter this into the server URL field on the iOS device.

You'll be required to create an admin account the first time you run an instance of the Realm Object Server. You may use this account when logging into Realm Draw by entering in the same username/password pair. Alternatively, you may also register new user accounts from the form by tapping the 'Register a new account' button.

Known Issues

The Android and iOS versions of the app will inter-operate; the Xamarin version currently can only share drawings with other copies of itself (compiled for either iOS or Android). This is due to a difference in the way the Xamarin platform handles its drawing canvas compared to the native iOS and Android code bases.

Contributing

See CONTRIBUTING.md for more details!

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

License

Distributed under the Apache license. See LICENSE for more information. analytics

realm-draw's People

Contributors

andydentfree avatar austinzheng avatar bmunkholm avatar cmelchior avatar dalinaum avatar dhmspector avatar ericmaxwell2003 avatar kishikawakatsumi avatar timoliver 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.