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

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 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
    • 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