This is my personal productivity app that is based on the Pomodoro technique.
Beware it is in a very, very early beta state.
Although no PRs will be accepted at this time, please feel free to create issues or fork this with wanton abandon.
My personal productivity app
License: GNU General Public License v3.0
The project up until this point (commit: da36ced) lacks any proper testing suite: unit tests, integration tests, end-to-end tests etc.
This needs to be remedied retroactively and will probably cause a lot of refactoring in the process.
For testing to be considered comprehensive we're looking at:
Any development of new features should immediately follow the Test Driven Development cycle as suggested here
The flow timer stops unexpectedly when over apps draw over it.
Move the flow logic into a foreground service that can be bound to.
The app crashes/exits when trying to rearrange the list by selecting tasks at the bottom of the list.
Allow for a task to contain one or more subtasks with their durations linked. This way a super task can be selected to be worked on at a given time and the flow view will only focus on that super task's subtasks.
As mentioned in 30b1b5e, changes from the previous settings should be detected and unsaved settings should be communicated to the user.
One idea would be to use a flag that is set in onseekbar change listener that changes the color of the save settings button and also ensures a prompt on cancel? or on back button.
Keep statistics on how many tasks have been completed per day and the total work hours put in per day.
From this reports can be generated, possibly heatmaps for which hours of the day are most productive.
Some key analytics include:
An idea for how this could be done is essentially logging "analytics events" with an EventType enum and then storing these events. Each event is timestamped.
Event types that can be implemented include:
One issue I could forsee is logging the time spent when the session lengths can be changed in the settings.
Adding a gantt chart view for ordering tasks in tempos perhaps? Or rather save it for the web app?
The user should have the ability to increment how many sessions remaining for the current task from within the task view.
The duration is currently specified with the number of sessions, but this can be improved by giving a dropdown of how much time (roughly) the user wants to spend eg:
And so on. The code for the session number to time string is already present but needs to be implemented in a smart way.
Adding a goal line will set a goal for the amount of tasks to complete in a given day (ending at midnight system time). this should log the position of the task right above it and stick to it or some other manner.
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.