GithubHelp home page GithubHelp logo

samamco / track-and-graph Goto Github PK

View Code? Open in Web Editor NEW
420.0 420.0 38.0 148.07 MB

An android app for tracking personal data and creating custom graphs

License: GNU General Public License v3.0

Kotlin 98.80% Shell 0.05% Ruby 0.08% Python 1.07%

track-and-graph's People

Contributors

allcontributors[bot] avatar android-sam avatar dependabot[bot] avatar pada0 avatar pizzapim avatar poussinou avatar samamco avatar sguinetti avatar tifriis208 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

track-and-graph's Issues

feature request: averaging improvement

hi there,
thanks for this great app!
i miss one thing though, i wish i could graph every entry as a line, so on days when there is no entry it goes back to zero. it seems like the daily average is a bit off as this would be the solution. would be great to have this functionality in graph and histogram.
max of day would also be very useful!

thanks again, best tracking app out there!

Feature Request: Start tracking & stop tracking

Hi,

first of all:
Thank you very much for your app!!!
I was looking for something like this for a long time.

I think it would be nice to have the ability to start tracking something time-based and then stop it at some point.
For example:

  • start tracker watching TV no I won't binge-watching

few hours later:

  • stop tracker

Currently I track time-based stuff with the numeric option, counting it in minutes.

Edit: Also thx for putting it on fdroid !

Tasker plugin

It is useful to have ability to mark habits automatically. For example, in my current habits tracker i automatically mark as done habit "Dont smoke today").

Application crash when using the | symbol

Using the | symbol in the name of a choice in multiple choices tracker cause the app to crash when saving the tracker.
The group tracker who contains such tracker can no longer be used without crashing the app.

Android 8.1.0, LineageOS 15.1

Feature request: option to assume missing values as zero

It seems like track and graph per default connects each two consecutive data points with a straight line (when there's no moving average set).

If I have a data point for day 1 with value 5 and a data point for day 3 with value 7 these will be connected and the graph will look as if on day 2 there had been a value of 6.

It'd be neat to have the option to set a default value (per time period, for example 1 day) of zero (or maybe something else, like the average of all data point values) when displaying the graph. This would lead to each day without a set value being treated as if it were assigned a default value (zero, or something else).

This would lead to more meaningful graphs when the phenomenon being tracked is something like: number of hours of some activity on a given day.

This way of tracking an activity could probably be handled even more easily with a separate new tracking type: 1 numerical value per time period (day,week,...) ... but it could also be included in the existing tracking type, which would make it more versatile.

feature request: Change colors on pie charts

It would be nice to be able to pick the colors of a multiple choice pie chart for example multiple choice is a, b or c then on the graph (pie chart) I can pick a color for a, b and c myself.

Multiple Y axis

It would be nice to have multiple Y axis in order to plot data in different scales. Every time i want to compare a no=0, yes=1 dataset sounds like the yes/no data were ignored in the plot.

Feature request: Negative time durations

Hello

Congratulations to your great app! I am happily using it to track some time related stuff. Now, I would be in need to enter negative time durations, e.g. "-2h 33m 5s". Your user interface currently exclusively allows to enter numbers to the hh-field. Do you think it could be enhanced to take a leading "minus"-sign? As far as I know time durations are signed data types and therewith natively allow for negative values.

Many thanks in advance and keep up the great work!

DB Documentation

I'd like to manipulate the data externally, but I don't know enough about databases to open the backup file.

What's a good place to start?

If I could learn enough to export CSV tables I could start. Later I could learn to manipulate the database directly.

I think a few notes about the backup file might be helpful to others who know more and would like to do the same.

Cheers!

PS I love this little app!

Given a time range, show total - numeric type tracking

I have a range of numeric type being tracked. There is an option to check the usage based on daily / weekly for total / average
Need a way to find what is the total being tracked... Not tracking count, looking for tracking cumulatively

Another alternative, to show total without timerange in the tracking bubble.
Dont know much, but i think a new string just like this would help my needs as of now.

Feature request: Graph Option

Hey,

first of all huge thanks for the great app!
There is only one thing which I find a little bit impractical at the moment, and I would like to give an example:

If I want to track my asthma spray usage, there could be three reasons for taking it lined out:
0: Don't know why
1: Caused by physical exercise
2: Allergic reaction

Now it would be nice to have the ability to create line graphs which count how many times a certain option (or multiple options grouped together) was chosen, rather than having to track those things separately and then again together to make a pie chart.

Thanks for considering :)

is it possible to reset the displayed counter every day?

Hi, thanks for the wonderful app.
I have been using only since yesterday but find it amazing!

Since I begun to track coffees and cigarets, I was surprised yesterday at midnight to not see the displayed counter reset to zero.

I thought maybe it would have got reset in the night, for instance at 4am, but this.morning it was still not reset. So I figure this is a global counter.

Is it correct?
If yes I am imagining 2 things:

  1. An option in edit track: "Counter shows": Total, Daily, Weekly, Monthly. With a default of Total.
  2. Maybe a more global setting called "Time when to reset counter if set so": with a default of "00:00" probably (principle of least surprise).

Feature request: "Confirm" button before delete

I just accidentally deleted an entire graph of data with a stray button press. I dearly wish there was a second button to press that could have prevented this, e.g. a "confirm delete" button, or an "undo delete" snackbar.

EDIT: I'm an idiot. The graph was easily deleted, but the data is still there, I just had to re-add the graph.

Feature request: Convert time tracking to numerical

I have a stat where I used to only track time, but now I want to track it numerically because I don't want to click it multiple times every time. I don't understand why I can't simply convert it to a numerical tracker where all existing values simply stay as 1?

Alternative download source

Would you mind providing the APK at an alternative place (e.g. attaching it to the Github releases) – for the folks outside of Google Play? Some of us have no access, or prefer to keep Google off their devices. Us "tin foils" especially prefer tracker-free apps like yours (just checked it with Exodus: congrats!).

Thanks in advance!

Support Random Sampling via Reminders

For the purposes of experience sampling, having the reminder pop-up randomly across the day would be ideal!

The user can specify the frequency of the reminder in the Reminder view.

This random sampling would give a more robust view of sampled experiences compared to having them be answered at the same time everyday.

Feature request: Pie charts for non multiple-choice data

First, many thanks for the great app! It makes planning and reviewing life so much easier.

A feature I would really like is pie charts for non multiple choice data. As for line charts, you would just add multiple data sets to a pie chart. The chart then displays the ratio of all summed data points for each data set.

For example, if you have two data sets:
Biking: 2 4 1
Running: 1 2 1
The pie chart would display 64% for biking and 36% for running.

Ideally it should also work for time duration, to see how much time has been spent on a specific activity.

Support Tracking Free-Form Text as Input Style

Firstly, thanks for creating this app, it's super useful! Just had some requests for extending the app to make it even better :)

Currently Track&Graph only supports date-time, numerical & multiple choice as input styles.

Experience Tracking questions like "What is top of mind?" or "Who are you with?" do not neatly fit into the above three input styles currently supported

Feature request: Cumulative graphs

There are things I track, such as Meals and different kinds of aches, where I only track when it happens, but I'd like to see correlations in the matter of hours. The problem is that I have to either plot when tracked, which is useless if I never track a 0, or plot daily totals, which are far too coarse.

One option of course would be to plot hourly totals, but what I would actually like is a graph where it automatically descends linearly or exponentially after tracking, but then rises again when I track it another time - e.g. meals: when I eat, the food is processed afterwards, so my saturation gradually descends (simplified, don't mind the complexities of human digestion for now ^^), but when I have anotther snack while digesting the previous, my saturation rises again.

Unfortunate default input style when creating a track

When creating a track, the order in the inout style dropdown is precisely the reverse of what can be converted after creating.

This is inconvenient if you happen to create your track with the wrong track type, as you cannot simply convert it as soon as you realize and have to recreate your track completely.

A simple solution to this would be reversing the order of the dropdown, or just proposing "Multiple choice" as the default.

Pros of this change:

  • If the user remembers to choose the right track type it will be no different from before the reversal/change.
  • If the user forgets to choose the right track type, they can conveniently convert it afterwards

Cons of this change:

  • Users who mostly create tracks of the current default type "Date and time only" can no longer just leave the dropdown untouched

Alternative solutions could be:

  • A setting to customize the default track type preselected in the creation dialog according to the users needs
  • A change to the conversion feature that allows any kind of conversion. If nothing is tracked yet, it could automatically do the conversion anyway. If there is already some tracked data, the user could be presented with a dialog asking which value to assume for the existing entries if the conversion is an upgrade. E.g. when converting from "Date and time only" to "Multiple choice", the application could query the multiple choice type list from the user and offer a dropdown to choose a default value for existing track data.
    After such a conversion, the user could normally edit the track entries to further correct it.

Wrong digit for month in backup filenames

Hi Sam!
I just observed that backup files use the current month +1 in their names (i.e. today, 29th of May, the app places a 06 inside the filename). That happens no matter whether the backup is invoked from the slide-in menu or via backup button in a track group. That might lead to import outdated data.

Edited to add:
T&G v1.6.2, Android 6.0.1 (Moto G4 flavor)

Date format

It would be wonderful to have the ability to switch between American and European date styles.

Feature Request: Add ability to add comment to data entry

Hi,

first of all, thanks for this app. I really like the simplicity as well as the flow to add multiple data points in succession. Import/export of data to CSV is icing on the cake.

One of my use cases is a driver logbook and there I miss the ability to add a comment to a data point where I would typically state the reason or destination.
That comment could be entered alongside the actual data value in a separate line, either above our below the [Cancel][Skip][Add] buttons

Not sure, if our would make sense to add it as a separate input style

Feature Request: Add auto backup

First of I love this app, was looking for something like this for ages!

I like that there is a way to export my data manually but I would like to propose a functionality to trigger a backup of all the data Track&Graph has every day/month etc. I use another app which is called Car Report that provides this feature. Every day I start the app for the first time a backup is created to a location which one can choose freely.

Since smartphones today tend to day/get lost/stolen/... sometimes it would be a shame to lose a lot of entries just because one forgot to export the data. Plus I track quite a lot of different things within the app which makes exporting every group a little bit tedious.

Feature Request: Backup to Nextcloud

Just found this app today and I love it!

It would be nice if it were possible to backup the data to Nextcloud (or any webdav)

A good use case would be that the user could backup their data to a nextcloud server and then open a Nextcloud app to view that data (esp., dashboard charts or a custom app specifically for this purpose) on the deaktop.

We need a FOSS based personal health monitoring system. Please help build it :)

Edit: Related but not the same as #12

Issue with editing numeric values containing decimal places in non-English language

Whenever I try to edit a track's numeric value containing decimal places, pressing the ADD button leads to erasing the track's value with a zero.

This seems to be be due to the different use of dots and commas in structuring numeric values in English-speaking countries compared e.g. to the rest of Europe: I use Android in German, and when I set it to English, editing works OK. For clarity: With my German locale I enter e.g. 2,7, not 2.7. Editing such a 2,7 gives zero.

Android 6.0.1, Moto G, App version 1.4.4 from F-Droid, German locale

Suggestion: Option to show only integers in chart

Tracking group with date and time only, which only has 1s in it, is displayed in the graph as decimals. Not sure if bug or feature request, but an option to only show whole numbers would be useful.

Graph is set as fixed range 10, no averaging, plotting daily totals with scale 1.

image

Feature request: Widgets

Hi @SamAmco, thanks a lot for the app! Always wished for something like this.
One feature I'd be happy to have:

Android widgets for the various tracks. So a user – for example for numerical input – only has to tab the correct widget and it counts. Would simplify the process and encourage tracking.

feature request: animated graph, cycling through moving average duration/time

Whenever I use the moving average feature to plot data I try different durations / time frames and look at the plot to intuitively see which time frame appears to visualize the data best or in the most insightful way.

Automating this procedure could really help users make sense of the data, I think.

There could be a feature that lets the user take one data set and show an animation which cycles through frames that contain plots of this one data set with a moving average ranging from say 12 hours to a year (or however long the data set is).

Then the user can see which frame contained the most interesting looking plot and choose the corresponding moving average time for further plots.

Point option for graphs

Thank you brother.

Very insightful piece of code you have written. It has helped me track my ptsd and depression.

I humbly ask for the option to choose points instead of lines for a given element being tracked.

A typical use case might be watering the garden. Knowing the day it was watered would be very easy with a point marker, since it is hard to see from the line graph when an event occurred.

Namaste.

Lee

Feature request: Default value when tracking

For some things I track, I want to have multiple options, but there's in one which I almost always use. It would be nice if I could configure it to use that value by default when I click the little plus next to it - that way I have the conveniences of pure time-tracking with the option to select another value by editing or when using the track all button.

F-Droid repo not showing the latest releases

As far as I can see, the latest version on F-Droid is 1.5.1 and 1.5.2 and 1.6.1/2 never showed up in the repo (excluding the pre-releases). Is this intended or is F-Droid builds failing to update to the latest version?

Great app, by the way! :)

Mistake in license headers

* You should have received a copy of the GNU General Public License
* along with Foobar.  If not, see <https://www.gnu.org/licenses/>.

Foobar?

Crashes (and oddities) on renaming groups

First: Thanks for writing & releasing this app! The graph comparison is what makes it superior to the other FOSS habit trackers I know!

Each attempt to rename any of the two group types ends in a crash. Same for re-ordering groups, btw. (Renaming & re-ordering tracks works ok.)

App v1.4.3 from F-Droid, Android 6.0.1, Moto G4

Feature request: Dark splash screen

Hi there, I am super happy ever since the dark theme came to the app because I use the app a lot in dark environments. I'd like to suggest that the splash screen could be dark as well to avoid that "flash" upon starting the app.

Vertical and horizontal lines on graphs

much like Android's internet data usage graph, i would like to track usage and limits of use of things that i have, as well as have a way to keep track of cycles, be it in absolutes (e.g 16-feb to 16-mar) or in relatives (e.g last month).

what do you think? ^-^

an option to get persistent notifications with certain tracking conditions would be great too, but i guess that might be a topic for another issue :3

feature request - readability of days,weeks,months on graph

first of all thanks for tha great app again. i'm using it daily for a few months now and its very useful for me.
one thing that is really missing for me is a good readability of the dates in the graph. the vertical lines seem unrelated to dates. i wish i could easily see vertical lines for weeks and mark beginnings of months and days.(days maybe light grey) but then you could see what time it was tracked easily. i also miss weekday names on the graph and the list view of the tracked data.
i think this would be a great improvement.

in the future it might be cool to have the ability to hook this up to sync with google spreadsheets. then you could pipe in automatic data and share across devices or edit data on spreadsheets.

thanks again for your efforts

seb

Possibility to delete a input

Hey there, first, thanks for this awesome app!

I would like to request the following feature:
After a user inputs something due to a misclick, the value cannot be removed from the track. I would like to request a possibility to delete data points, maybe via a quick edit function.

Feature request: Add more time options for "Average time between"

For average time between the only measurement available is days. Unless I missed something, but I did fiddle with the numbers and it doesnt look like I can change it to something else.

Can we have a dropdown or something to switch from year/month/week/day/hour/minutes? It works now for things tracked weekly but for multiple per days it will only show 0.1/0.2 days.

option to auto-backup, either database or csv or both

You already have a backup function. It would be great if you had a check box for an automatic backup to the device that overwrites current backup file every five minutes that the app is open or when one exits the app.
I sync my device to my laptop using Syncthing and the requested level backup would enhance that so much more

Graph's End date to be X days ago, rather than [now] or [custom]

Currently you allow for custom dates. I love that as it allows me to display this year vs last so I can see one above the other. However, what would be great is the option to go back X days for X days.

[As an example] I have a chart for 7 days that displays my behaviour for the past week. Great! Just below it I want the previous week and 2 weeks back. So, in addition to my chart, I would want to display [go back 7 days for 7 days] and a second chart I want to display [go back 14 days for 7 days].
Having said that, ANY current chart would be displaying [go back 0 days for 7 days]

Feature request: partially dynamic graph bounds

Currently the app provides

  1. Min=dynamic max=dynamic
  2. Min=x max=y

I would like to be able to choose any combination, which would essentially be the current UI for fixed, where blank means dynamic.
E.g. Min=0 max=dynamic

use case

My use case is wanting to pin the minimum to 0, while letting the maximum scale.
This helps me when I want to keep in perspective how close I am to 0, but I have times where I stay above it for long enough that the dynamic setting is not helpful.
Currently I have set fixed between 0 and (20% higher than my last known max) to allow room for growth so I don't have to change the fixed bounds all the time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.