#friend #command-line #command-line-tool #weeks #seen #grow #friendships

app friendgrow

Grow your friendships by tracking which friends to see soon

4 releases

0.2.2 Feb 8, 2023
0.2.1 Feb 8, 2023
0.2.0 Dec 18, 2021
0.1.0 Dec 18, 2021

#969 in Database interfaces

27 downloads per month

GPL-3.0 license

28KB
716 lines

friendgrow

friendgrow is a command line tool to help you keep track of when to next see each of your friends, however close you are to them, making you a better friend who remembers everyone. Inspired by Kunal's friendlog.

Introduction

Install

  • Download the latest binary using cargo install friendgrow
  • Choose a database location and set that in your environment in your preferred way, e.g. export FRIENDGROW_DB=~/.friendgrow.db >> .bashrc

Add friends

% ./friendgrow add Gandolf "Middle Earth"
Gandolf (Middle Earth) every 10 weeks, not seen yet
% ./friendgrow add Sam "The Shire" -f 3
Sam (The Shire) every 3 weeks, not seen yet

Record seeing friends

% ./friendgrow record Gandolf 2021-10-06
Gandolf (Middle Earth) every 10 weeks, last seen on 2021-10-06, see next 2 days ago
% ./friendgrow record Sam 2021-12-2
Sam (The Shire) every 3 weeks, last seen on 2021-12-02, see next in 6 days

Upcoming friends to see

% ./friendgrow upcoming
+---------+--------------+-----------+------------+------------+
| Name    | Location     | Frequency | Last seen  | Due        |
+---------+--------------+-----------+------------+------------+
| Gandolf | Middle Earth | 10 weeks  | 2021-10-06 | 2 days ago |
| Sam     | The Shire    | 3 weeks   | 2021-12-02 | in 6 days  |
+---------+--------------+-----------+------------+------------+

Contribute

  • Fork this repository
  • Make sure you've installed rust and cargo
  • Try out your local fork using cargo run -- [friendgrow args]
  • To use a different test database file, temporarily set the location using export FRIENDGROW_DB=./test-friendgrow.db

TODOs

Anyone can feel free to help with these!

  • Add documentation comments
  • When friend not found, suggest similar names from DB
  • Replace 'see in x days' with 'see on m/d'
  • Record dates with default year of current year
  • Record dates with keywords like today, yesterday, (last) Tuesday

Dependencies

~27–37MB
~560K SLoC