Skip to content

FYRichie/LightDance-Editor

 
 

Repository files navigation

Logo

NTUEE LightDance Editor

Release Contributors License

An Editor for editing and simulating light dance show

Architecture

image

Services

http://localhost:8080 - editor
http://localhost:4000 - editor-server
http://localhost:8081 - file-server
http://localhost:8082 - controller-server

Development

Docker

You can use Docker to install and start all the services. You can see the editor on http://localhost:8080.

docker-compose -f dev.docker-compose.yml up -d

Local

Install the dependencies

This will install all the dependencies in the subfolders.

yarn install:all

Run the services

This will run all the services parallelly. You can see the editor on http://localhost:8080.

yarn dev

For development for editor-server

You need to have MongoDB running on mongodb://localhost:27017

docker-compose -f dev.docker-compose.yml up -d mongodb redisdb

Initialize Database

After starting all services, one can add 2021's control and position data into mongoDB.

cd utils
yarn
export NODE_OPTIONS="--max-old-space-size=8192" // Incase heap out of memory
node initDB.js ${filePath}
// node initDB.js ../others/dance_json/export.json
node initLED.js ${filePath}
// node initLED.js ../others/dance_json/test_exportLED.json

Production

Create the eeinfo network

docker network create eeinfo

Run services nginx, editor, editor-server, file-server, redisdb, mongodb.

docker-compose -f prod.docker-compose.yml up -d

Editor will run on http://localhost:8080.

Editor-server will run on http://localhost:4000.

Initialize Database

After starting all services, one can add 2021's control and position data into mongoDB.

cd utils
yarn
export NODE_OPTIONS="--max-old-space-size=8192" // Incase heap out of memory
node initDB.js ${filePath}
// node initDB.js ../others/dance_json/export.json
node initLED.js ${filePath}
// node initLED.js ../others/dance_json/test_exportLED.json

About

LightDance editor for choreographing and controlling.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 87.5%
  • JavaScript 10.8%
  • Other 1.7%