|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .vscode | ||
| public | ||
| src | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .oxfmtrc.json | ||
| .oxlintrc.json | ||
| ARCHITECTURE.md | ||
| bun.lock | ||
| env.d.ts | ||
| eslint.config.ts | ||
| index.html | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| tsconfig.vitest.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
VueView
VueView is a lightweight, browser-based info screen built with Vue.js. Designed to run on any display, like a spare monitor or a wall-mounted tablet. It presents at-a-glance information like the current time, weather conditions, and upcoming calendar events in a clean, minimal interface. Nothing more, nothing less. No backend required. No cloud service. VueView runs privately, entirely client-side.
Screenshot
Services
Weather
VueView uses OpenMeteo to fetch weather data. OpenMeteo has a generous free tier of 10k requests per day, that should not be reached so easily, even with multiple clients running in parallel. VueView updates weather data roughly every ten minutes, so 144 times per day.
Calendar
VueView supports DAV via tsdav, which should make it possible to use Apple, Google, Fastmail, Nextcloud, Baikal, ZOHO and many more calendars. Credentials are currently very minimal (only username, password) and set up via .env (so for setting it up, the application needs to be rebuild). In the future, if people need, this might be changed.
Caveats
Because VueView runs in the browser, your calendar needs to support CORS. Mine (self-hosted Baikal) doesn't, but I was able to make my webserver handle the CORS stuff. Check the Wiki.
Acknowledgements
The font used is Comfortaa and is licensed under the SIL Open Font License.
The weather icons are the static versions of Meteocons.
Development
This project uses bun by default, but every other modern JS runtime should do it.
Prepare and run dev environment
bun install
bun dev
Type-Check, Compile and Minify for Production
bun run build
Run Unit Tests with Vitest
bun test:unit
Lint with ESLint
bun lint
