Skip to content

Functionality overview

Rhytidia edited this page Aug 9, 2026 · 6 revisions

Overview of planned functionality

MVP draft functionality

  • Program runs in CLI, and at first needs to be manually run by the user to start it (see stretch goals below)
  • Program asks a series of questions about coding activity that day and writes the answers to a markdown (MD) file
  • File path to MD file can be either hardcoded or user-inputted
  • There will be a fairly short series of (hard-coded) questions to encourage regular logging
  • Users will be able to skip questions or end the log early
  • User-skipped questions will not be written to the MD log file
  • Updates to a log on the same day will be saved under an h3 heading with "Update at "
  • MD file will be saved to a folder with the file path returned in the CLI when completed
  • Doesn't create a new MD file per day but adds new daily logs to one MD file until a particular limit is reached (still deciding between, say, 10 entries before a new file is created or maybe create a new file every month). New logs for a day are written under an h2 markdown heading with that day's date.

Finished functionality

  • user can type "back" to go back to an earlier question if they accidentally skipped it
  • Unit tests for major functionality in each module are written and passed

Possible future functionality

I am not sure if I will implement the following. They are ideas I have for the future but I haven't committed to implementing any of them. I did originally want to add a GUI but I decided to focus on learning more about unit testing with mock and spent a lot of time on that instead.

  • Program will ask if user wants to use a "default" (user-defined) filepath (Y/N) or input a new filepath
  • GUI interface, including opening the file finder window to the file path for the md file when log is completed & saved
  • Automatic prompting (in GUI) of the user to write a log at a time of day/week of the user's choosing (will open the program from the prompt)
  • User can adjust questions in GUI interface before answering and before they're written to MD file
  • Connecting the logs to a static website for sharing; user can decide if they want that log shared or not. If yes, it's copied to a folder that is linked to the static site.

Clone this wiki locally