Skip to content

Latest commit

 

History

History
73 lines (62 loc) · 2.98 KB

README.md

File metadata and controls

73 lines (62 loc) · 2.98 KB

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

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

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.