Profile: https://goyalmunish.github.io/
goyalmunish / reminder Goto Github PK
View Code? Open in Web Editor NEWTerminal-based interactive app for organising tasks with minimal efforts.
License: MIT License
Terminal-based interactive app for organising tasks with minimal efforts.
License: MIT License
Profile: https://goyalmunish.github.io/
If DD-MM is falling before now in the current year, then automatically select the subsequent year.
Currently, the script build_image.sh
is manually used to build and push docker image from the latest code. This needs to be automated.
Rather than leaving it to the user to take manual backup, take automatic backups once in every 24 days (upon start).
We may need to register last backup date in the data file.
For context,
Refer https://github.com/goyalmunish/reminder/blob/master/internal/model/reminder_data.go#L33
func (reminderData *ReminderData) UpdateDataFile(msg string) error {
// update UpdatedAt field
// note that UpdatedAt of a whole ReminderData object is different
// from corresponding field of each note
reminderData.UpdatedAt = utils.CurrentUnixTimestamp()
// marshal the data
// Refer https://pkg.go.dev/encoding/json#MarshalIndent
// Note: String values encoded as JSON strings are coerced to valid
// UTF-8, replacing invalid bytes with Unicode replacement rune. So
// that the JSON will be safe to embed inside HTML <script> tags, the
// string is encoded using HTMLEscape.
byteValue, err := json.MarshalIndent(&reminderData, "", " ")
...
In day-to-day work, you take care of some main projects (let's say "main projects") and some incidental things.
When these main projects go beyond a certain number (for example, in my case around 5), you tend to forget about what's the current status and next action item for each individual project. In the case of the reminder
app, if we associate a project with a "note", then comments under it are more like transactional records (or data streams). But, at each moment what you also need is a summary (or data table). We need functionality to get this summary without having to read through each transaction.
Need to figure out a way to mark "done" the current recurrent (monthly/annual) note as done. ATM, even if it is done for the current cycle, it remains visible in "Approaching due date".
One way is to add another field "CycleStatus" with a dictionary of status and date. This can be used in visibility logic for repeated tasks and will be overridden every time it is set.
Look at the cases, where tags/notes don't get updated unless we go up a level and come back. Need to fix them.
ATM the search functionality is not able to filter pending/done notes. Rather than "Done Notes" (and additionally "Pending Notes") it would be nice to bing able to filter them via "Search Notes".
The promptui
hasn't been updated for long.
Refer:
This is required to be made easy and with a theme that works all of the workflows.
At the moment the new line is considered as the end of input while providing a note's text or tag's slug. So, if one tries to paste a multi-line text, only the first line is captured.
Yet, unsure about what is causing it.
Currently, once the due date is set, it can only be updated, by cannot be cleared. By providing a blank date, one should be able to clear the existing date (but at present, it raises an invalid date exception).
I just worked on it to pick up GoLang. As it is all up and running now, need to relook at its design, data structures, and algorithms, to make it better.
Currently, in a small window size, the output overflows and doesn't look good. It would be better to truncate the text based on the terminal window size.
Add support for versioning and releases.
Following are points suggested by Josephine in her review ๐:
Searching through notes with any of them containing multi-line text, spoils the "supposed to be one-line display".
One idea could be to replace new lines with "\n" character for search display purpose.
At present one has to make use of the "Pending Notes" option from Main Menu to check tasks/notes with upcoming (within 7 days) deadlines. Explore possibilities to send alerts to macOS for such deadlines.
A paginated view with tasks in chronological order of due dates would be helpful in planning.
Getting notifications via Google Calendar would be convenient. Need to first work on this functionality to think of a workflow that would make sense.
Invocation of the below alias, creates a temporary docker container when it is invoked:
alias reminder='docker run -it -v ~/reminder:/root/reminder goyalmunish/reminder'
On exiting the tool, this leaves the stopped container. The next invocation creates another temporary docker container. This is something we would like to avoid, but we also don't want to keep a container always running.
At present, the tool follows:
Note: Following are the pending notes with due date:
- within a week or already crossed (for non repeat-annually or repeat-monthly)
- within a week for repeat-annually and 2 days post due date (ignoring its year)
- within 3 days for repeat-monthly and 2 days post due date (ignoring its year and month)
But, in general for repeated items like bill, they come around a specific date and have a period in which they can be paid. So, it would make sense to adjust the pre- and post- due dates visibility period.
At the moment,
Keeping functionality for deleting a tag/note permanently for future.
Add character to the search field, displays a new search field unless the search field is already at bottom of the terminal window.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.