Git Product home page Git Product logo

dave's Introduction

DAVE

The Data Analytics Visualization Environment for xAPI and the Total Learning Architecture

What is DAVE?

The DAVE Framework will provide an open source means of creating domain-based xAPI learning data dashboards. It is extendable to new learning problems, instructional strategies, technological realities, and metrics objectives and will provide a framework for analysis and visualization which aligns with xAPI, xAPI Profiles, and the Total Learning Architecture (TLA).

The Beta Framework Features

  • an analysis tool suite for the transform and visualization of xAPI Data
  • a custom query language for the creation of transforms and aggregates of xAPI Data
  • a visualization specification for the creation of custom visualization types
  • workbooks for revisiting and reusing previous analyses
  • definitions of primitive operations for xAPI transforms
  • open source code — reusable by developers and learning engineers — that is modular and aligned to the capabilities of xAPI & xAPI Profiles and the flexible and extensible needs of the Total Learning Architecture.

Project DAVE is funded by the Advanced Distributed Learning Initiative at the U.S. Department of Defense.

Primitives Resources

Here is a quick link to the master doc for review of the new xAPI Primitives Specification: https://github.com/yetanalytics/dave/blob/master/docs/main.pdf

For more information on Primitives, see:

DAVE Query Language Resources

See the Query Readme

Vega Resources

This version of the DAVE Framework uses Vega as its visualization specification. It will be crucial to have some familiarity to use DAVE's more interesting visualization features. Some tuorials can be found here.

For Developers: Running the Beta & Testing

Interactive Workbooks

DAVE's interactive workbooks are written in ClojureScript which is compiled to Javascript to run in a browser. To get started, you'll need the Java JDK version 1.8 or later, and a working installation of the Clojure CLI.

To get an interactive development environment run:

clj -A:fig:build

Or via the Makefile:

make dev-repl

A browser window will open automatically to http://localhost:9500

To live-compile SASS files to CSS (do this in another shell):

clojure -A:watch-sass

Or via the Makefile:

make watch-sass

The root SASS file can be found at /resources/dave/ui/sass/style.scss

Testing

The ClojureScript tests will run automatically while Figwheel is running, to view their output navigate to http://localhost:9500/figwheel-extra-main/auto-testing.

To run the ClojureScript tests outside of figwheel:

clojure -Afig:test-cljs

Or via the Makefile:

make test-cljs

To run Clojure tests on the JVM:

clojure -Atest-clj

Or via the Makefile:

make test-clj

All tests can be run via the Makefile:

make ci

And an application package for GitHub Pages can be generated at ./gh_pages:

make gh_pages

And all project artifacts can be deleted:

make clean

License

Copyright © 2018-2020 Yet Analytics Inc

Distributed under the Apache 2.0 License. See the file LICENSE for more information.

dave's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dave's Issues

Build Failing

Morning team,

When going through the Readme stesp for setting up a development instance, I'm getting an exception after it validates the Figwheel main and starts compiling:

[Figwheel] Validating figwheel-main.edn
[Figwheel] figwheel-main.edn is valid \(ツ)/
[Figwheel] Compiling build dev to "target/public/cljs-out/dev-main.js"
[Figwheel] Failed to compile build dev in 0.648 seconds.
[Figwheel:WARNING] Compile Exception: error=2, No such file or directory  
[Figwheel:SEVERE] java.io.IOException: error=2, No such file or directory

It's not much more verbose than that, though.

edit: Clarifying:

  • Ubuntu 16.04 LTS
  • Browser page does try and load, but is blank ofc
  • OpenJDK 1.8 and Clojure 1.10.1.536

Thanks,
-Trey

MDC tooltip clobbering Vega svg renderer tooltips

Looks like the tooltip CSS (and possibly JS) from Material Design Components for the Web is clobbering the tooltip element. It comes up, but there is a massive delay (looks like a CSS animation) and it is very small indeed.

We are bringing in the MDC Sass from source, so this should be resolvable there.

Addition of a `web` / `dist` Folder?

Morning team,

Would it be worthwhile to add a built version of the production web page to the repo?

I watched Shelly's webinar yesterday on DATASIM and was surprised to see him bring up a version of DAVE running on a GitHub IO page. I'd spent some of yesterday building a Dockerfile for this project and was relieved to see / confirm myself that it could run in a browser with just the build output, as the resource usage of the Figwheel server seemed a bit high.

Thanks,
-Trey

Contextualize the learning alongside external or coinciding events.

Are there data sources not included in this set that would help contextualize or otherwise increase meaning in this data set? (For example, context of things that occurred prior to or after this test, prior knowledge, weather, travel schedules, upcoming responsibilities, informal or social details, current events).

xAPI "Endpoint" Clarification / Assumption

Morning team,

The Node guidance yesterday has helped get things running, so thanks for that.

When declaring an LRS in the production setup, the LRS Endpoint field felt a little awkward as it's expecting the endpoint to have an /xapi convention. I checked the spec awhile back and it (surprisingly) didn't actually stipulate that convention as far as I could tell -- it's just sort of popular with LRS vendors.

On a related note, it also works a bit differently than what Endpoint has typically meant for an LRS (also just by community convention) as it expects the pre-"xapi" subset of the URL. As the conformance suite and xAPI wrappers typically take Endpoint as "something I can append /statements to", it might warrant a bit of clarification on what's expected in that field.

Looking at the network tab cleared this up pretty quickly, but the 404 response toasts were an initial surprise. You can probably just have the toast display which endpoint it tried to hit and assume that the person entering information will recognize the proper format, but it would still be problematic for an LRS whose xAPI root was just the actual root domain.

Thanks,
-Trey

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.