ReFlex Logo
ReFlex (Title)
Documentation
Navigation

ReFlex

Software Development SDK for Elastic Displays as open source mono repo

Complete Documentation as github pages available at https://visual-engineers.org/reflex/

Table of contents

  1. Build status
  2. Repository structure
  3. External Dependencies
  4. use shared code
  5. NPM commands
  6. Python gRPC Processing service
  7. Known issues / Troubleshooting
  8. Documentation (github pages)

Build status

   
ReFlex Library (.NET) Library:Test
Shared Types (TypeScript) Shared Types:Build
Shared Components (Angular) Shared Components:Build
Tools/TrackingServer (Angular) Server:Build
  Server:Lint
  Server:Test
Tools/Emulator (Angular) Emulator:Build

Repository structure

Directory Content
apps Applications using the ReFlex framework
design Design / Graphic source files
docs documentation for github pages
examples Templates and Plugins (Angular, Vue.js, React, Unreal Engine 5, Unity. .NET)
external Place for external libraries, if needed (see External Dependencies)
library ReFlex .NET library
packages Shared Typescript code between applications (see Use Shared Code)
scripts additional automation scripts either for CI or local development
services Micro services for extending server capabilities
test Test projects, test artifacts, Insomnia workspace
tools Developer Tools and Server application

⬆ back to top

NPM workspaces

The repository uses NPM workspaces for better management of dependencies

Therefore, the repository should be initialized in the root folder by running the command npm install and not in the sub directories (although there are package.json files, but these files are just handling the local dependencies)

⬆ back to top

Repository initialization

⬆ back to top

Development

⬆ back to top

External Dependencies

⬆ back to top

use shared code

⬆ back to top

NPM commands

Command Description Remarks
npm run build runs build command in all subrepos of workspace  
npm run build-complete runs build command in all subrepos of workspace, including test-ci and lint commands  
npm run build:shared-types builds package Shared Types  
npm run build:shared-components builds Shared Angular Components(#use-shared-code)  
npm run build:server:electron-win builds ReFlex.TrackingServer as Electron app packaged for Windows  
npm run build:server:electron-osx builds ReFlex.TrackingServer as Electron app packaged for OSX (Intel x64) needs to be run on macOS
npm run build:server:electron-osx-arm64 builds ReFlex.TrackingServer as Electron app packaged for OSX (ARM64) needs to be run on macOS
npm run build:server:electron-linux builds ReFlex.TrackingServer as Electron app packaged for Linux (x64)  
npm run build:server:electron-linux-arm64 builds ReFlex.TrackingServer as Electron app packaged for Linux (ARM64)  
npm run build:emulator builds Emulator Angular App  
npm run build:emulator:electron-win builds Emulator as Electron app packaged for Windows (x64) npm install is executed after packaging to restore the dev dependencies
npm run build:emulator:electron-osx builds Emulator as Electron app packaged for Windows (x64) npm install is executed after packaging to restore the dev dependencies, needs to be run on macOS
npm run build:emulator:electron-osx-arm64 builds Emulator as Electron app packaged for Windows (x64) npm install is executed after packaging to restore the dev dependencies, needs to be run on macOS
npm run build:emulator:electron-linux builds Emulator as Electron app packaged for Windows (x64) npm install is executed after packaging to restore the dev dependencies
npm run build:emulator:electron-linux-arm64 builds Emulator as Electron app packaged for Windows (x64) npm install is executed after packaging to restore the dev dependencies
npm run build:example-angular builds Angular Template  
npm run build:example-react builds React Template  
npm run build:example-vue builds Vue.js Template  
npm run build:logging builds Logging tool  
npm run start:emulator build and start Emulator Angular app on localhost:4300  
npm run start:example-angular build and start Angular Template on localhost:4201  
npm run start:example-react build and start React Template on localhost:3000  
npm run start:example-vue build and start Vue.js Template on localhost:8080  
npm run start:logging build and start Logging tool on localhost:4302  
npm run start:server build and start ReFlex.TrackingServer tool (only Angular frontend) on localhost:4200 Server backend must be started separately
npm run lint:emulator executes linter on Emulator project  
npm run lint:server executes linter on ReFlex.TrackingServer project  
npm run test:emulator executes tests on Emulator project  
npm run test:net-with-report executes .NET tests on .NET Solution ReFlex.sln and generates report for tests Currently only compatible with Windows
npm run test:server executes tests on ReFlex.TrackingServer project  

Known issues

⬆ back to top

Python gRPC Processing service

⬆ back to top

Known issues / Troubleshooting

⬆ back to top

Documentation (github pages)

Documentation is hosted as github page at https://visual-engineers.org/reflex.

The documentation content for the github pages can be found in the docs folder.

repository readme files

readme files in the repository (including this file) are copied into the docs directory as part of the deployment CI step by executing the scripts\copy_docs.sh shell script.

The related readme files are:

repo readme target directory section in pages
readme.md docs/software/repo/reflex.md Software > Repository > ReFlex Framework
library/README.md docs/software/repo/library.md Software > Repository > ReFlex Library (.NET)
tools/ReFlex.TrackingServer/readme.md docs/software/apps/server.md Software > Applications > Server
tools/logging/README.md docs/software/apps/logging.md Software > Applications > Logging
tools/emulator/README.md docs/software/apps/emulator.md Software > Repository > Emulator

Testing github pages locally

testing the github pages can be done by following the instruction at Github Docs: Testing your GitHub Pages site locally with Jekyll

⬆ back to top