Skip to content

LightDance editor for choreographing and controlling.

License

Notifications You must be signed in to change notification settings

ppg0921/LightDance-Editor

 
 

Repository files navigation

Logo

NTUEE LightDance Editor

Release Contributors License

An online editor to design, simulate and control the lights

Architecture

image

Services

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

Development

Local

Install the dependencies

This will install all dependencies for the app.

pnpm install:all

Initialize Prisma

If you are running this for the first time, you need follow the instructions in editor-server/README.md to initialize prisma.

echo "I know you only want to copy and paste commands, but please read the instructions in editor-server/README.md"

Start database

You need to have postgresql and redis running for the backend to work.

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

Run all services

There are the services you'll need to run if you are developing editor-server. You need to start all of them manually. Run these commands in different terminals respectively, in the order shown below:

pnpm dev:file-server
pnpm dev:editor-server
pnpm dev:editor

If you are developing the command center, you may also need to run:

pnpm dev:controller-server

Run all services in parallel

This command runs all services in parallel. You can see the editor on http://localhost:8080. This is useful for demo, yet not recommended in development.

pnpm dev

Initialize Database: Development

If you are running this for the first time, you need to initialize the database for things to work.

# Lightdance-Editor/utils
pnpm install
node initDB.js jsons/exportDataEmpty.json

Production

Start all services

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

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

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

Initialize Database: Production

After starting all services, one must initialize the database.

# Lightdance-Editor/utils
export NODE_OPTIONS="--max-old-space-size=8192"
pnpm install
node initDB.js jsons/exportDataEmpty.json

Waveform generation

We use audiowaveform to generate waveform. Refer to Installation section to install the package first.

About

LightDance editor for choreographing and controlling.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 46.5%
  • Python 28.4%
  • Rust 17.7%
  • JavaScript 6.8%
  • CSS 0.4%
  • Dockerfile 0.1%
  • Other 0.1%