ROVR(Redhat Open Virtual Reality) enables creating data generated, interactable, AR visualizations π²π
To get started simply clone the repository and run:
yarn install
yarn start-server
and you are up and going!
We recommend working against the webpack development server by running:
yarn start-server
Note: The development server will watch for changes and hot-reload as required β¨
But if you want to statically build the code for development purposes, you can manually run:
yarn build
which will generate the requested /dist
folder
In order to run the tests simply run:
yarn test
Each component/entity is joined with a \*.test.js
file which at least passes a smoke test on it's generation function and additionally verifies custom functionality it performs(component life-cycle functions)
For example, basicEntities.js holds are most basic entities(surprisinglyπ)
.
βββ basicEntities.js
βββ basicEntities.test.js
Thus basicEntities.test.js will hold a test suite for the entire file and sub-suite for each entity
import * as BasicEntities from './basicEntities.js'
describe('Basic Entities Suite', () => {
describe('scene tests', () => {
it('scene smoke test', () => {
expect(BasicEntities.scene()).toBeDefined()
})
})
})
We are using Karma as our test runner and Jasmine as our test suite and assertion platform. By running yarn test
, all *.test.js
files will be ran on PhantomJS and results reported to the command-line
yarn test v0.27.5
$ karma start
clean-webpack-plugin: ./dist has been removed.
25 07 2017 23:42:27.026:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:9876/
25 07 2017 23:42:27.034:INFO [launcher]: Starting browser PhantomJS
.
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 SUCCESS (0.003 secs / 0.002 secs)
Done in 11.46s.
The code is structured such that components and entities are loaded from separate folders as designed by ECS and singularly loaded into the entry-point, procedurally loaded onto the DOM
.
βββ src - source files
βΒ Β βββ components - A-Frame components
βΒ Β βββ entities - A-Frame entities
βΒ Β βΒ Β βββ basicEntities.js
βΒ Β βΒ Β βββ basicEntities.test.js
βΒ Β βββ index.ejs - autogeneration view template
βΒ Β βββ index.js - entry point
βββ ... README and licences
βββ ... configuration files
In order to deploy the project to production simply run:
yarn build-production
which will create a /dist
folder with uglified, hot-replaced, concated and minified, production-ready project! π
- A-Frame - 3D assets visualization
- AR.js - Augmented reality marker integration
- LeapJS - LeapMotion controller API
- Webpack - Module bundler and transpiler
- Karma - Test runner platform
- Jasmine - Test suite and assertion engine
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. Current version is
- Shaked Lokits - Initial work - shakedlokits
This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details