All Projects → brianium → tomaat

brianium / tomaat

Licence: other
🍅 Slack integrated pomodoro timer... with Electron + ClojureScript!

Programming Languages

clojure
4091 projects
CSS
56736 projects
Makefile
30231 projects
HTML
75241 projects

Projects that are alternatives of or similar to tomaat

electron-app
Electron app with deps.edn, figwheel.main, reagent, and test integration
Stars: ✭ 29 (-52.46%)
Mutual labels:  reagent, figwheel
active reloader rb
Rails gem that reloads browser as soon as any file is changed
Stars: ✭ 11 (-81.97%)
Mutual labels:  hot-reload
entitydb
EntityDB library
Stars: ✭ 19 (-68.85%)
Mutual labels:  reagent
flutterOnExistApp
现有iOS工程中引入flutter, 支持插件扩展(见multiflutter分支) 解决官方内存泄漏问题,master分支最新的engine修复版
Stars: ✭ 62 (+1.64%)
Mutual labels:  hot-reload
easywebpack-vue
Vue Webpack Building Solution, Support Vue Server Side Render (SSR), Client Side Render (CSR) Building
Stars: ✭ 29 (-52.46%)
Mutual labels:  hot-reload
lunatask
All-in-one encrypted to-do list, notebook, habit and mood tracker, pomodoro timer, and journaling app
Stars: ✭ 35 (-42.62%)
Mutual labels:  pomodoro
minimal-hapi-react-webpack
Minimal Hapi + React + Webpack + HMR (hot module reloading) Sandbox
Stars: ✭ 55 (-9.84%)
Mutual labels:  hot-reload
tomatoad
Pomodoro Desktop Application (WIP)
Stars: ✭ 21 (-65.57%)
Mutual labels:  pomodoro
systemjs-tools
(dev)tools for working with SystemJS
Stars: ✭ 41 (-32.79%)
Mutual labels:  hot-reload
pomogoro
Text-file based todo time tracking
Stars: ✭ 22 (-63.93%)
Mutual labels:  pomodoro
polypomo
Pomodoro widget for use with polybar (or standalone if you are so inclined)
Stars: ✭ 81 (+32.79%)
Mutual labels:  pomodoro
liteflow
Small but powerful rules engine,轻量强大优雅的规则引擎
Stars: ✭ 1,119 (+1734.43%)
Mutual labels:  hot-reload
hot-reload
Hot reload development for Go
Stars: ✭ 72 (+18.03%)
Mutual labels:  hot-reload
reagent-shadow-cljs-starter
A minimal starter pack for Reagent-based projects
Stars: ✭ 29 (-52.46%)
Mutual labels:  reagent
tengen
Simple let-based Reagent component fns for Clojure/Script
Stars: ✭ 50 (-18.03%)
Mutual labels:  reagent
roll
RPG dice roller with both Rust CLI and ClojureScript Web interfaces
Stars: ✭ 14 (-77.05%)
Mutual labels:  reagent
re-pressed
re-pressed is a clojurescript library that handles keyboard events for re-frame applications.
Stars: ✭ 150 (+145.9%)
Mutual labels:  reagent
tailwind-hiccup
tailwindcss + hiccup = 👍👍
Stars: ✭ 34 (-44.26%)
Mutual labels:  reagent
flowloop
A Pomodoro-like timer for hyper-productivity
Stars: ✭ 69 (+13.11%)
Mutual labels:  pomodoro
flhooks
React like Hooks implementation for Flutter.
Stars: ✭ 38 (-37.7%)
Mutual labels:  hot-reload

Tomaat

An electron app written in ClojureScript. Integrates with Slack to let people know you are doing great things! Uses reagent for the UI.

Tomaat example

Features

  • 25 minute pomodoro timer
  • Update Slack profile with tomato while pom is in progress
  • Send a Slack notification when pomodoro is complete
  • Pause Slack notifications while pomodoro is running
  • Play a sound when time is up (useful if Slack is not configured)
  • Timer visible in tray!

Slack usage is optional, but if configured - your profile will be updated like so:

Slack with updated profile

Tomaat currently relies on legacy-tokens to facilitate a simple text field entry of a slack token. Some day when the sun goes out and Slack deprecates these, then we will look into building a view for authentication.

Development

Tomaat uses lein-figwheel for hot reloading of all source files. Since Tomaat leverages electron apis across the board - all builds target :nodejs.

To start development process:

$ lein start
$ lein electron

Note: figwheel requires the ws node module for node targets. I opted to install this globally:

$ npm install -g ws

Project structure

All source files are under src/tomaat, and several build targets are laid out in project.clj. Tomaat follows a structure that allows for the main electron process, a renderer process, and a worker process.

The worker process runs as an invisible window for the purpose of running the timer, persisting config, and interacting with slack.

Building

Tomaat is packaged using electron-packager. It has currently only been built and tested on macOS.

Just use make to build Tomaat.

$ make

Todo

  • webview for fetching slack token
  • test and build for other operating systems
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].