To put it as simply as possible, all this bot does is dialog with the user and create/update a record in the answer
table according to certain rules.
There are 2 most important entities in my architecture:
Question
- A
Text metric
, aggregated for each day - To keep track various of indicators of the day, such as
weight
,steps count
, and more.
Events
entity
- A
Timestamp metric
, that can occure many times on a day - Usually, it is to be marked when something occurs (f.e.
sleep time
,wakeup time
, and more). Ongoing events
: In addition, a more flexible abstraction that can be built on top ofEvents
, isOngoing events
- For example, you periodically go to sport gym. When it is the case, you mark a new event called
sport_training
with textstart
. - Then, at the end of you exercising, you mark new event with same name (
sport_training
) and textend
. - Such events are called
Durable
in my code (a mistranslation, I know).
- For example, you periodically go to sport gym. When it is the case, you mark a new event called
- Allows to very easily have overall view on week's spent time (via calendar
ics
feature) - In such way I'm trying to somewhat systemize my life
- Also, after some period of time, a data collected may be analyzed, manually or programmatically (f.e. using Machine learning) to identify patterns and correlations between different metrics
- Subscribe to
.ics
calendar, aggregating"Durable"
events- (see -
ics/
_module)
- (see -
orm/
_moduleics/
_modulesetup.MD
(not ready)tables.py
module docs (not ready)