git clone https://github.com/ueewbdy93/wedding-screen.git && cd wedding-screen
cp src/config/config.sample.json src/config/config.json && npm install && npm run build
npm run start
docker pull dy93/wedding-screen:latest
images: put your images into it
config.jsoninto it. See Configuration for detailed information.
db: empty folder which the db files will created in
docker run -d -p 5566:5566 -v /PATH/TO/config:/usr/src/app/dist/config -v /PATH/TO/db:/usr/src/app/db -v /PATH/TO/images/:/usr/src/app/dist/public/images dy93/wedding-screen
. ├── config.json # config must be named config.json ├── normal # folder to put normal images | ├── image1.jpg # normal image | └── ... └── blur # folder to put blur images ├── image1.jpg # blur image └── ...
DOWNLOAD_URLfield with the shared link that created in step 2.
Deploy appbutton. Then Heroku will automatically download configuration and images from the shared link and run deployment process.
Viewbutton to visit your own wedding web-app!
There are two modes and an admin page
Users can see wedding pictures and leave bullet comments.
This mode was inspired by Kahoot!. Since Kahoot does not show full description of options on users' phone and it's a requirement for us. We decided to implement this game service by ourselves.
Admin can switch between modes and control the game state.
Clone the project from github.
git clone https://github.com/ueewbdy93/wedding-screen.git
cd into project folder.
Set up configurations.
cp src/config/config.sample.json src/config/config.json
npm run build
npm run start
OK! Now you can visit http://localhost:5566 to watch slideshow or play game.
Visit http://localhost:5566/admin-index.html and login(default password:happy) to control the state.
Put your images into
Put the blur images into
src=PATH/TO/INPUT/IMAGES for i in `ls $src`; do gm convert -size 1280x1280 $src/$i -resize 1280x1280 images/normal/$i gm convert images/normal/$i -blur 0x4 images/blur/$i done
Edit src/config/config.json (If not exists, copy from src/config/config.sample.json)
Configuration options:property description admin.password Admin login password slide.intervalMs Slideshow interval game.intervalMs Answer time game.questions List of question objects game.questions.text Question text game.questions.options List of option objects. Each question must have 4 options game.questions.options.text Option text game.questions.options.isAnswer (boolean) Indicate whether this option is correct. Allow multiple answers
See config.sample.json for example.
DB file name is in the format of
db/db-<timestamp>.sqlite which is created on server starting.
To view the data, download the file and open it with any sqlite viewer.
If you encounter performance issues. The tips below could help.
npm run dev
To be completed