ETA: Calculate remaining (waiting) time / estimated time of arrival.
Multi-Timer: Set and manage multiple countdown timers.
Hosted at entorb.net/eta/. Feedback is highly appreciated.
This project is a complete rewrite of github.com/entorb/eta using state of the art tech-stack. It is my first project in Vue.js and several tools have been explored, see below.
- Standing in a queue / waiting room / ...
- Estimate the time for a process/work to finish
- Homework sessions
- Lawn mowing / tractor driving / ...
- Book reading finish time
- Idle-Games
Weighted linear regression is applied to calculate the speed with an emphasis on the latest data points
- Boiling eggs and cooking tea in parallel
- Idle-Games
- docs/ideas.md shows open and completed feature ideas
- docs/tools.md details how to set up the tools
- docs/vue-how-to.md outlines the Vue.js tech-stack and provides links to documentation and how-tos
- docs/issus.md lists problems and obstacles, faced during development
Install npm packages: pnpm install
Run live-updated dev-instance: pnpm run dev
Build and run: pnpm run run
Live preview of changes: pnpm run dev
(via vite --host
)
pnpm run check
# this runs: format lint spell test-once
# to run unit test only, generating coverage report in coverage\lcov-report\index.html
pnpm run test-once
# or run this to permanently retest upon file changes
pnpm run test
pnpm run build
pnpm run preview
pnpm run cy:open
Now in Cypress navigate to "E2E Testing" -> "Firefox" -> "Start E2E Testing in Firefox"
# update single package
pnpm up vite
# update all dependencies
pnpm up
- Prettier code formatter
- ESLint code linter
- CSpell code spell checker
- Vitest unit tests
- Cypress E2E tests
- Matomo visitor stats (locally hosted instance)
- SonarQube
see docs/tools.md
eslint throws
[MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of eslint.config.js is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /Users/torben/GitHub/eta-vue/package.json.
(Use `node --trace-warnings ...` to show where the warning was created)
but setting "type": "module"
in package.json
prevents Cypress to start.
- notification sound
481151__matrixxx__cow-bells-01.mp3
is from freesound.org - favicon is
timer-outline
from MDI and converted via favicon.io