A Wails-powered desktop application scaffold for managing watched folder jobs and sinking uploads to Amazon S3.
This repository combines a Go backend with a Vue 3 + Vite frontend, packaged as a native desktop app using Wails.
- A desktop shell built with
github.com/wailsapp/wails/v2 - Vue 3 frontend UI under
frontend/ - Mock job data and UI scaffolding for:
- scheduled watch jobs
- S3 destination configuration
- job enable/disable toggles
- run-now and batch run actions
- settings and confirmation dialogs
- Go backend entrypoint in
app.goandmain.go
- Go 1.XX
- Wails 2
- Vue 3
- Vite
- Go installed and available on
PATH - Node.js and npm installed
wailsCLI installed globally for desktop development
From the project root:
-
Install frontend dependencies:
cd frontend npm install cd ..
-
Start the Wails development environment:
wails dev
This launches the Vue development server and the Wails host application. UI changes are reflected immediately.
If you want to work on the Vue UI without running the full desktop shell, use:
cd frontend
npm run devThen open the local Vite URL shown in the terminal.
From the project root:
wails buildThis will build the frontend assets and compile the Go application into a standalone desktop binary.
app.go— Go application logic and method bindingsmain.go— Wails application entrypoint and asset embeddingwails.json— Wails project configurationfrontend/— Vue 3 frontend source and Vite configfrontend/src/— application UI components and page logicfrontend/package.json— frontend dependencies and scripts
- The current frontend UI is scaffolded with mock job data and TODO comments for wiring real Go methods.
- Backend methods can be added in
app.goand exposed via Wails bindings. - Customize the desktop app appearance and behavior through
wails.jsonand the Vue components.
- Wails docs: https://wails.io/docs
- Vue 3 docs: https://v3.vuejs.org
- Vite docs: https://vitejs.dev