Skip to content

Latest commit

 

History

History
93 lines (62 loc) · 2.2 KB

README.md

File metadata and controls

93 lines (62 loc) · 2.2 KB

Neon Lift - Stand and Sit Timer

A wizard standing at a standing desk, using a computer

Neon Lift is a simple command-line application to remind you to alternate between standing and sitting positions while working at a standing desk. In addition to its functionality, this was created to help learn more about Bubble Tea and Lip Gloss.

asciicast

Features

  • Customizable standing and sitting durations.
  • Visual progress bar.
  • Audible alert when it's time to change positions.
  • Pause and resume functionality.

Usage

Running with Go

To run the application, use the following command:

go run main.go

You can customize the application using the following command-line flags:

go run main.go -stand=45m -sit=15m -sound=true -desktop=true -icon=/path/to/icon.png

Available options:

  • -stand: Duration for standing (default: 30m)
  • -sit: Duration for sitting (default: 60m)
  • -sound: Enable sound notifications (default: true)
  • -desktop: Enable desktop notifications (default: true)
  • -icon: Path to notification icon for desktop notifications (optional)

Press 'Enter' to start, 'Space' to pause, and 'Q' to quit the application.

Running with Docker

You can build and run the application using Docker. First, build the Docker image:

docker build -t neonlift .

Then, run the application in a Docker container:

docker run --rm neonlift

You can also pass command-line flags to customize the application:

docker run --rm neonlift -stand=45m -sit=15m -sound=true -desktop=false

Developer Information

Running Tests

To run all tests in the project:

go test ./...

To run tests for a specific package:

go test ./model
go test ./notification
go test ./timer

To run tests with coverage report:

go test -cover ./...

For a detailed HTML coverage report:

go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out