Productivity analytics monitor 🧮

Overview

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"
	}
}
Releases(v0.3)
  • v0.3(Oct 8, 2021)

  • v0.2(Oct 6, 2021)

  • v0.1(Oct 3, 2021)

    Release 20211003.1

    This is the initial and essentially alpha release for the todalytics application package. The release.zip file contains several resources.

    • the main Lambda function code
    • the cft.yaml infrastructure definition
    • a config.json skeleton
    • the start_app helper script to launch the application

    Instructions on use are in the master branch README.

    Source code(tar.gz)
    Source code(zip)
    release.zip(6.16 MB)
Owner
John Forstmeier
John Forstmeier
Kubernetes monitor

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

null 41 Jun 20, 2022
MySQL Monitor Script

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

Open-Falcon 260 May 31, 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.

SneakyKiwi 19 May 6, 2022
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.

Jeff Geerling 1.2k Jun 23, 2022
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. ?? ??

SigNoz 7k Jun 22, 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.

Hamed Yousefi 21 Jun 14, 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

null 7 Jun 14, 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

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

SigNoz 4.7k Sep 24, 2021
Go Huobi Market Price Data Monitor

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

ROC 4 Jun 18, 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

null 151 Jun 21, 2022
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

Jaime Piña 3.9k Jun 29, 2022
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

Alvaro 7 May 24, 2022
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

zosmac 2 May 17, 2022
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

Abdelrahman Ahmed 627 Jun 21, 2022
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

Robin Verton 41 Jun 21, 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

SoftCoil Development 5 May 2, 2022
Analytics box a simple and privacy focused analytics tool written in go like google analytics

Analytics box is analytics tool like google analytics but instead of ripping user's privacy off them like google it respects their privacy and doesn't collect any unnecessary information.

Ketan Iralepatil 2 Sep 20, 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

null 0 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

null 0 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

null 0 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

Beat Labs 96 Jun 21, 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

Revel Framework 12.6k Jun 25, 2022
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,

null 88 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,

null 88 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 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

好未来技术 18.7k Jun 26, 2022
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.

Ayooluwa 140 Jun 23, 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

Jonas Mühlmann 11 Apr 29, 2022
ORM for Cloud Spanner to boost your productivity

ORM for Cloud Spanner to boost your productivity ??

Kanji Hirata 18 Jun 17, 2022
For productivity addicts who enjoys coding while listening to Spotify

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

Ricardo Ambrogi 120 Jun 18, 2022