Skip to content

TUI application written in GO inspired by tiny-care-terminal

License

Notifications You must be signed in to change notification settings

DMcP89/tinycare-tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tinycare-tui

Go Reference Go Report Card Coverage

Small terminal app that shows git commits from the last 24 hours and week, current weather, some self care advice, and you current todo list tasks inspired by @notwaldorf's tiny-care-terminal

screenshot

About

I started this project to accomplish a few different goals

  1. Teach myself the basics of the Go language
  2. Practice leveraging generative AI tools like copilot and chatgpt for development
  3. Create a fun terminal app

Installation

go install github.com/DMcP89/tinycare-tui@latest

Configurations

Set the following environment variables to configure Tinycare-tui

# API Keys
GITHUB_TOKEN=123456789abcdefg # Set this variable to pull commits from Github instead of using local repositories
OPEN_WEATHER_MAP_API_KEY=123456789abcdefg # Set this variable to get weather info from OpenWeatherMap.org
TODOIST_TOKEN=123456789abcdefg  # Set this variable to pull todos from Todoist

# Settings
TINYCARE_POSTAL_CODE=123456 # Set this to the postal code that you want to pull weather info for
TINYCARE_WORKSPACE=/path/to/directory/with/git/repos,/another/path/to/repos # Set this to tell the app where to look for git repos to pull commits from
TODO_FILE=/path/to/todolist/file # Set this to tell the app where your local task list is

Run

tinycare-tui

TO-DOs

  • Allow for focusing on each box
  • Expand on self care reminders
  • Remove twitter scraping code
  • Replace hardcoded values with env variables
  • Refresh the view on 'r'
  • Have views refresh in 30 second intervals
  • Have 'q' exit the app
  • Optimize with go routines
  • Allow for multiple git repo locations
  • Allow for local todo list for todays tasks
  • Have task view show completed tasks as well
  • Provide option to pull commits from github instead of from local repos
  • Add error handling for missing environment variables
  • Create tests
  • Performance tuning
    • pulling commits from local repos to use goroutines and channels
    • Rework refresh function to leverage text view's SetChangeFunc()
    • Implement caching for API returns
    • Improve performance for pulling commits from local repos
  • Logging
  • Refactoring
    • Refactor GitHub interactions to use go-github
    • Move environment variable handling out of util modules
    • Refactor tests to leverage cases
  • Convert time on commits to days when >24 hours
  • Write installation guide
  • Write configuration guide
  • Fix time display on commits to adjust to timezone
  • Update github integration to include events from user's orgs
  • Update todoist integration to include overdue tasks
  • Add functionality to mark tasks done
  • Add joke API integration
  • Fix silent failure when attempting to fetch commits from nonexistant directory
  • Task Warrior integration
  • Have project added to awesome-go
    • reduce cyclomatic complexity of main function in main.go for Go Report Card
    • setup code coverage Report
    • Create documentation
    • Add bages to README
    • Get coverage to 80%
    • Open PR to awesome-Go

Contributions

This is primarily a learning project for me so I will be working on it on and off but Issues and PRs are most welcome.

About

TUI application written in GO inspired by tiny-care-terminal

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages