Productivity analytics monitor 🧮

todalytics

Productivity analytics monitor 🧮

About

todalytics is the root application of the data collection system.

Collect and store Todoist task activity in DynamoDB for analysis to improve productivity.

Setup

Prerequisites

Several packages are required for launching and managing the todalytics stack.

  • jq - version jq-1.6
  • AWS CLI - version aws-cli/1.19.53 Python/3.8.10 Linux/5.11.0-36-generic botocore/1.20.53

Installation

Follow the steps below to configure the required CloudFormation resources in your AWS account.

  • Download the most recent release.zip file from the releases page
  • Extract the contents below into your desired folder
    • cft.yaml: the full CloudFormation template definition for the required AWS resources
    • events.zip: an AWS Lambda binary pre-compiled and zipped
    • config.json: configuration file with user-provided or generated information
    • start_app: a Bash script file used to launch the CloudFormation stack
  • All Bash scripts are used to manage the todalytics service and reference the config.json which should live in the same directory
  • Create a Todoist App
    • Copy the Client secret value and add it to the todoist.client_secret field in the config.json file
    • Click "Create test token" but don't use the token for anything
    • Under Watched Events select item:added, item:updated, item:completed, item:uncompleted, and item:deleted for the webhook
  • Get an API token from your Todoist account
    • Click "Settings" -> "Integrations" and under API token click "Copy to clipboard"
    • Add the API token value to the config.json file under the todoist.api_token field

Usage

Follow the steps below to launch, configure, and interact with the todalytics application.

  1. Run the start_app script in the folder the release.zip file was extracted into
    a. This script will optionally populate the aws.s3.artifact_bucket and aws.dynamodb.table_name values in config.json with pre-existing resource names if the -b or -t flags receive argument values
    b. If no flag values are received, an AWS S3 bucket and AWS DynamoDB table will be created and the config.json file will be updated accordingly
  2. Copy the EventsAPIEndpoint valaue from the CloudFormation stack outputs and add it to the Todoist App management console Webhook callback URL field
  3. Begin using Todoist and the todalytics app will populate the table constantly

Roadmap

Additional events and potentially some data enrichment features may be added depending on the usefulness of collecting this data.

Contribute

There are a few tools required to begin working on the todalytics codebase. The indicated versions are what the application was built using - other versions or operating systems have not been tested. See the contributing and code of conduct resources for specifics.

  • Go - version go version go1.16 linux/amd64
  • Git - version git version 2.25.1
  • jq - version jq-1.6
  • AWS CLI - version aws-cli/1.19.53 Python/3.8.10 Linux/5.11.0-36-generic botocore/1.20.53

Scripts stored in the bin/ folder are typically used for working with the todalytics stack during development. A config.json file needs to be added at etc/config/config.json with user-provided pre-existing S3 buckets added to the respective "REPLACE" field values.

{
	"aws": {
		"cloudformation": {
			"stack_name": "todalytics"
		},
		"s3": {
			"artifact_bucket": "REPLACE"
		},
		"dynamodb": {
			"table_name": "REPLACE"
		}
	},
	"todoist": {
		"api_token": "REPLACE",
		"client_secret": "REPLACE"
	}
}
Similar Resources

Monitor a process and trigger a notification.

Monitor a process and trigger a notification.

noti Monitor a process and trigger a notification. Never sit and wait for some long-running process to finish. Noti can alert you when it's done. You

Jan 3, 2023

Monitor the performance of your Ethereum 2.0 staking pool.

eth-pools-metrics Monitor the performance of your Ethereum 2.0 staking pool. Just input the withdrawal credentials that were used in the deposit contr

Dec 30, 2022

Gomon - Go language based system monitor

Gomon - Go language based system monitor

Copyright © 2021 The Gomon Project. Welcome to Gomon, the Go language based system monitor Welcome to Gomon, the Go language based system monitor Over

Nov 18, 2022

Monitor & detect crashes in your Kubernetes(K8s) cluster

Monitor & detect crashes in your Kubernetes(K8s) cluster

kwatch kwatch helps you monitor all changes in your Kubernetes(K8s) cluster, detects crashes in your running apps in realtime, and publishes notificat

Dec 28, 2022

Fast, zero config web endpoint change monitor

Fast, zero config web endpoint change monitor

web monitor fast, zero config web endpoint change monitor. for comparing responses, a selected list of http headers and the full response body is stor

Nov 17, 2022

Monitor pipe progress via output to standard error.

Pipe Monitor Monitor pipe progress via output to standard error. Similar to functionality provided by the Pipe Viewer (pv) command, except this comman

Nov 14, 2022

Productivity analytics monitor 🧮

Productivity analytics monitor 🧮

Oct 8, 2021

A productivity tools to diagnose list of exported URL status from Google Search Console, Analytics, Sitemap URL...etc.

google-url-checker A productivity tools to diagnose list of exported URL status from Google Search Console, Analytics, Sitemap URL...etc. A quick way

Dec 31, 2021

Andrews-monitor - A Go program to monitor when times were available to order for Brown's Andrews dining hall. Used during the portion of the pandemic when the dining hall was only available for online order.

Andrews Dining Hall Monitor A Go program to monitor when times were available to order for Brown's Andrews dining hall. Used during the portion of the

Jan 1, 2022

Go web monitor - A web monitor with golang

Step Download “go installer” and install on your machine. Open VPN. Go to “web-m

Jan 6, 2022

Microservice framework following best cloud practices with a focus on productivity.

patron Patron is a framework for creating microservices, originally created by Sotiris Mantzaris (https://github.com/mantzas). This fork is maintained

Dec 22, 2022

A high productivity, full-stack web framework for the Go language.

Revel Framework A high productivity, full-stack web framework for the Go language. Current Version: 1.0.0 (2020-07-11) Supports go.mod package managem

Jan 7, 2023

Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.

Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,

Sep 27, 2021

Goal is a toolkit for high productivity web development in Go language in the spirit of Revel Framework that is built around the concept of code generation.

Goal Goal is a set of tools for high productivity web development in Go language. Goal, being mostly inspired by Revel Framework and its discussions,

Sep 27, 2021

go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

go-zero English | 简体中文 0. what is go-zero go-zero is a web and rpc framework that with lots of engineering practices builtin. It’s born to ensure the

Jan 2, 2023

Focus is a fully featured productivity timer for the command line, based on the Pomodoro Technique. Supports Linux, Windows, and macOS.

Focus is a fully featured productivity timer for the command line, based on the Pomodoro Technique. Supports Linux, Windows, and macOS.

Focus is a cross-platform productivity timer for the command line. It is based on the Pomodoro Technique, a time management method developed by Francesco Cirillo in the late 1980s.

Dec 26, 2022

Libraries and CLIs for my personal all-in-one productivity system including components like bookmarks, notes, todos, projects, etc.

bntp.go Libraries and CLIs for my personal all-in-one productivity system including components like bookmarks, notes, todos, projects, etc. Neovim int

Sep 13, 2022

ORM for Cloud Spanner to boost your productivity

ORM for Cloud Spanner to boost your productivity

ORM for Cloud Spanner to boost your productivity 🚀

Nov 29, 2022

For productivity addicts who enjoys coding while listening to Spotify

For productivity addicts who enjoys coding while listening to Spotify

🎵 nvim-spotify For productivity addicts who enjoys coding while listening to Sp

Dec 30, 2022
Kubernetes monitor
Kubernetes monitor

模式说明 对应配置项为collect_mode cadvisor_plugin | kubelet_agent | server_side 三选一 代码为同一套代码 模式名称 部署运行方式 collect_mode配置 说明 夜莺插件形式采集cadvisor raw api 可执行的插件由夜莺age

Nov 18, 2022
MySQL Monitor Script

README.md Introduction mymon(MySQL-Monitor) 是Open-Falcon用来监控MySQL数据库运行状态的一个插件,采集包括global status, global variables, slave status以及innodb status等MySQL运行

Dec 26, 2022
Open Source Supreme Monitor Based on GoLang

Open Source Supreme Monitor Based on GoLang A module built for personal use but ended up being worthy to have it open sourced.

Nov 4, 2022
Monitor your network and internet speed with Docker & Prometheus
Monitor your network and internet speed with Docker & Prometheus

Stand-up a Docker Prometheus stack containing Prometheus, Grafana with blackbox-exporter, and speedtest-exporter to collect and graph home Internet reliability and throughput.

Dec 26, 2022
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications
SigNoz helps developer monitor applications and troubleshoot problems in their deployed applications

SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. ?? ??

Dec 27, 2022
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.
Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Nov 10, 2022
Hidra is a tool to monitor all of your services without making a mess.

hidra Don't lose your mind monitoring your services. Hidra lends you its head. ICMP If you want to use ICMP scenario, you should activate on your syst

Nov 8, 2022
SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool
SigNoz helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc. 🔥 🖥.   👉  Open source Application Performance Monitoring (APM) & Observability tool

Monitor your applications and troubleshoot problems in your deployed applications, an open-source alternative to DataDog, New Relic, etc. Documentatio

Sep 24, 2021
Go Huobi Market Price Data Monitor
Go Huobi Market Price Data Monitor

火币(Huobi)价格监控 由于部分交易对火币官方未提供价格监控,因此写了个小程序,长期屯币党可以用它来提醒各种现货价格。 该工具只需要提前安装Go环境和Redis即可。 消息推送使用的「钉钉」,需要提前配置好钉钉机器人(企业群类型、带webhook的机器人)。 使用方法 下载本项目 拷贝根目录下

Oct 13, 2022
Cloudprober is a monitoring software that makes it super-easy to monitor availability and performance of various components of your system.

Cloudprober is a monitoring software that makes it super-easy to monitor availability and performance of various components of your system. Cloudprobe

Dec 30, 2022