Code Monkey home page Code Monkey logo

dodoc's Introduction

do•doc logo

do•doc

do•doc (or dodoc) is a documentation tool, first designed for use in classrooms with children. It is a platform connected to a physical device that operates a camera and a microphone, and enables one to capture traces from an on-going experience for later reflections, reconstructions and creation of narratives.
do•doc is made by l'atelier des chercheurs (Sarah Garcin, Pauline Gourlet & Louis Eveillard).

More information:

License

This app is under a Creative Commons BY-NC-SA license. It can be used, modified and shared freely as long as no commercial use is made and the attribution and link to L’Atelier des Chercheurs are kept.

Homescreen of do•doc

Install do•doc

Method 1 — the easy way

Download the latest release from the release page.

Method 2 — the long way

You need node.js version 8.9.3 and python 2.7 to install this app with this method. On Windows, you also need to install Microsoft’s Windows Build Tools by following the instructions here.

1. Download this repository

Click on Clone or Download in the top right corner of this page, then Download ZIP. Unpack this folder.

2. Open a terminal window

Open a terminal window:

  • Windows: (XP) use this tutorial to open a terminal on Windows or open Command Prompt in the start menu
  • macOS: go to Applications -> Utilities -> Terminal
  • Linux: use a terminal app such as Terminal or Konsole

In your terminal, navigate to the dodoc-master folder with your terminal using the cd command:

cd path/to/dodoc-master

3. Install dependencies

If you haven’t already, install the tool that will enable native modules to be used. To do this, follow the instructions here: https://github.com/nodejs/node-gyp

Then, install do•doc’s dependencies (may take up to 5 minutes):

npm install

4. Run do•doc

Start from the folder in a terminal window with the following command:

npm start

Troubleshooting

Most install errors (and especially the Module version mismatch. Expected 50, got XX.) are due to native packages such as sharp, a powerful image manipulation library.

The first thing to check is whether you use the right version of node.js: it must be version 8.9.3. To know the version you are running, write node -v in a terminal window.

The reason you have to use this version of node.js is because this app uses Electron, a tool to package node.js and a webbrowser as native apps. The version of Electron this app is using is version 2.0.5, and it uses node version 8.9.3. However, when native modules are built, they are built using the local node version and not Electron’s. Hence, you have to run the exact same version as Electron to prevent this type of error to happen.

Because switching between node version is annoying, it is recommended to use nvm to do so (nvm windows for Windows).

Here are a few other things you can try (but only after making sure you run the right node version):

  1. Sometimes, Electron is not installed when running npm install on the repo. It may help to run npm install [email protected] just to be sure it is actually installed locally.

  2. Follow the instructions here, and specifically:

# Electron's version.
export npm_config_target=2.0.5
# The architecture of Electron, can be ia32 or x64.
export npm_config_arch=x64
export npm_config_target_arch=x64
# Download headers for Electron.
export npm_config_disturl=https://atom.io/download/electron
# Tell node-pre-gyp that we are building for Electron.
export npm_config_runtime=electron
# Tell node-pre-gyp to build module from source code.
export npm_config_build_from_source=true
# Install all dependencies, and store cache to ~/.electron-gyp.
HOME=~/.electron-gyp npm install
  1. electron-builder (which builds electron to an app) embeds a script that rebuilds dependencies according to electron. To use it, write:
./node_modules/.bin/electron-builder install-app-deps

sharp on ubuntu

It seems the dependency sharp cannot be built easily on Ubuntu. Install an older version to fix this:

npm install [email protected]

Tweak, fork and debug

server-side

  • Run npm run debug to start the server with a better debug in terminal

client-side

The client-side code is in the public folder. To write some new CSS or client-side JS, you need to run the following tasks:

npm run install

and then, to start the dev tasks:

npm run dev

To build for production, use

npm run build

This will create minified JS files in the public/dist folder.

dodoc's People

Contributors

louis-ev avatar

Watchers

James Cloos avatar  avatar

dodoc's Issues

PDF Export raise expcetion TypeError: BrowserWindow is not a constructor

Current Dockerfile configuration raise an exception on PDF export:

/src/l-atelier-des-chercheurs/dodoc/core/exporter.js:250
              let win = new BrowserWindow({
                        ^

TypeError: BrowserWindow is not a constructor
    at fs.mkdirp (/src/l-atelier-des-chercheurs/dodoc/core/exporter.js:250:25)
    at xfs.mkdir.er (/src/l-atelier-des-chercheurs/dodoc/node_modules/fs-extra/lib/mkdirs/mkdirs.js:37:14)
    at FSReqWrap.oncomplete (fs.js:135:15)
npm ERR! code ELIFECYCLE
npm ERR! errno 1

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.