This is the code for the website located at https://travel.stoman.de. This repository contains all the code, but due to file sizes not the actual videos. You can view the website at the URL given above or build the website yourself as described below.
The website is a log of some of the places we visited together. In most of those places we created a short video holding a sign with the name of the city. The videos are concatenated in a way such that each video starts with the same people visible as the last one ended with.
You will need the following things properly installed on your computer.
- Git
- Node.js (with npm)
- Ember CLI
- Google Chrome
git clone https://github.com/stoman/travelvideothis repositorycd travelvideonpm install(unless running in Docker)
npm run start- Visit your app at http://localhost:4200.
- Visit your tests at http://localhost:4200/tests.
docker build -f Dockerfile -t travelvideo .docker run -p 8080:80 -v <absolute_path_to_videos_local>:/usr/local/apache2/htdocs/assets/videos:ro travelvideo
npm run testnpm run test:ember -- --servernpm run lintnpm run lint:fix
Using Docker Compose with volume mounting for faster iteration:
# Run all tests (linting + tests)
docker compose -f docker-compose.test.yml run --rm test
# Fix formatting issues with Prettier
docker compose -f docker-compose.test.yml run --rm test npm run lint:fix
# Run only linting (no tests)
docker compose -f docker-compose.test.yml run --rm test npm run lint
# Run only Ember tests (skip linting)
docker compose -f docker-compose.test.yml run --rm test npm run test:ember
# Interactive shell in container
docker compose -f docker-compose.test.yml run --rm test bash
# Build/rebuild the test image
docker compose -f docker-compose.test.yml buildNote: Files are mounted from your local directory, so changes made by Prettier in the container apply directly to your working files. No need to rebuild the Docker image for code changes!
If you prefer to run tests without volume mounting:
docker build -f Dockerfile.test -t travelvideo-test .
docker run --rm travelvideo-test npm testDeployments are run automatically by GitHub Actions. The workflow is defined in .github/workflows/deploy.yml.
Build the Docker container and push it to the registry:
docker build -t registry.stoman.de/travel:latest .Then connect to the server and pull the container. Videos are not part of the container, so you need to upload them to the server if changed or added.
npm exec ember build
npm run build