Giter Club home page Giter Club logo

activity-log's People

Contributors

cohenadair avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

activity-log's Issues

Statistics

App is pretty useless unless you can analyze your activity data.

Ideas

  • Filter by several date ranges (see Quicken's options)
  • Filter by "All activities", a single activity, or multiple activities
  • Multiple activities (including all) will show:
    • Longest session
    • Most frequent activity
    • A horizontal bar chart of total duration within time period
    • A horizontal bar chart of number of sessions within time period
  • Single activity will show:
    • Duration/date line graph
    • Number of sessions in the given time period
    • Average duration per day
    • Average duration per week
    • Average duration per month
    • Average duration overall
    • Shortest session
    • Longest session
    • Streak (days in a row)
  • Switching between the two should have a nice animation

Session management

Allow adding, removing, and modifying of sessions.

  • List recent sessions in EditActivityPage, sorted by most recent first
  • Allow deleting from EditActivityPage
  • Allow selection from EditActivityPage
    • Navigates to EditSessionPage
  • A "Show More" button on the EditActivityPage
    • Opens SessionsPage for selected Activity, sorted by most recent first
      • Allows deleting
      • Allows editing (on tap, open EditSessionPage)
    • Visible only if all sessions aren't shown
  • A "+" icon to the right of "Recent Sessions" that opens the EditSessionPage
  • An EditSessionScreen
    • Edit start/end date, start/end time
    • Warn the user if it overlaps with another session in the same activity
    • Delete button

Add Privacy Policy

Since there's no user login and we don't store any personal identifiable information, the policy should just say as much -- that all data is private to the user and is not shared, uploaded, or distributed anywhere outside the app.

Add to:

  • Settings

Splash page

Splash page should show when loading, while the app is being initialized, and fade out.

New session start time validation error

Getting a "Start time cannot be in the future" error when I shouldn't be.

Reproduction Steps

  • Tap "+" to add new session
  • Set the end time to the future
  • Click save
  • Observe bad error message on start time

Chart horizontal axis labels aren't consistent

Right now, different units can be shown. For example, labels could be 0m, 13h, 1d, 1d, 2d -- they should all be in a consistent format. In this case, days, or "1d 12h".

Look into being able to set the "step" for labels so the values are always even numbers.

Disable editing of in-progress sessions

disable end date/time selection
show a message saying end date/time can't be edited for sessions in progress
in DB call, if session is in progress, do not update end time

Mark Activity as "Work" or "Pleasure"

Description

As an Activity Log user, I want to see how valuable or invaluable my activities are so I can better determine how to spend my time.

Feature

  • An activity can be marked as Work or Pleasure (default)
  • If marked as Work, a Monetary Value per Duration unit is required (defaults to Settings value)
  • If marked as Work, the Activity summary shows Monetary Value
  • If marked as Pleasure, the Activity summary shows Monetary Loss using the Settings monetary value
  • In multi Activity summary, show Total Monetary Value or Total Monetary Loss

Show conflicting session in session input error message

If the user is trying to add a new session, and it conflicts with another in the same activity, they're shown an error message.

It would be very helpful if they were shown the start and end time of the conflicting session to make it easier to adjust the session they want to add.

Create invoices

For freelances tracking work time, being able to generate invoices as PDFs would be greatly beneficial. See the pdf plugin.

Ideas

  • Templates
  • Company logo
  • "Tools" tab with "Create Invoice" option

Monthly subscriptions

AC

  • Low cost; $2-3/mo.
  • Limit free tier to 3 activities and 5 sessions per activity
  • 1 mo. free premium trial

Add "View Sessions" to StatsActivitySummaryPage

As an Activity Log user, when I view the summary of any activity for a given time range, I'd also like to see a list of that activity's sessions so I can get a better understanding of the activity for that time period.

Allow activities to be hidden

I may no longer want to track an activity, or I no longer participate in that activity. I'd like to be able to hide the activity from stats so I don't see it, but the data isn't lost.

Implementation Ideas

  • Add a "Hide From Stats" button to EditActivityPage
  • An option in Settings, "Hidden Activities", with a list of every activity and checkboxes for hiding in
    • Stats
    • Everywhere

Bad session input validation when dates are the same

Session input validation is checking that the start date doesn't come after the end date; however, this also compares time values, when time values are irrelevant since they're selected from a separate widget.

Date comparisons during session input should only check date values, not time values.

Reproduction Steps

  • Create a new session with some duration
  • Edit the new session
  • Select the same end date (click the same end date and click Ok on the date picker)
  • Try to save
  • Observe validation error

Workaround by resetting the start date as well as the end date.

Pages reloaded when navigation changes

Reproduction Steps:

  • Navigate between the stats and home pages.
  • Observe that there's a brief flash of white screen (presumably the Empty widget) before the page loads.

This is probably due to there being a FutureBuilder tied to a DB call and until that call returns, an Empty widget is shown.

Possible Solutions:

  • Show a "dummy" view first, with burred out data, similar to what the Facebook app does.
  • Allow Empty to be shown on initial page load, but cache the results so the page is only reloaded if the data has changed.

A combination of both solutions is probably ideal.

Messed up scrolling when comparing activities on the stats page

Reproduction Steps

  • Go to the stats page
  • Select several activities, but not all
  • Scroll to the bottom
  • Try to scroll up
  • Observe glitchy behaviour and being forced to the bottom of the view

Possibly the solution don't use a ListView and just a normal scroll view.

Activity categories

Allow activities to be added to a category or "parent" entity. For example, Fortnite would appear under a "Video Games" category.

This would be most useful for statistical breakdown.

Preference for duration display

I would find it more beneficial if all my durations were displayed in hours rather than days. This should be customizable in Settings.

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.