Skip to content

Commit

Permalink
v1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
timqian committed Feb 24, 2019
1 parent c459a45 commit aa36e12
Show file tree
Hide file tree
Showing 29 changed files with 9,120 additions and 3,834 deletions.
12 changes: 0 additions & 12 deletions .babelrc

This file was deleted.

8 changes: 6 additions & 2 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
"extends": ["airbnb-base"],
"env": {
"browser": true,
"webextensions": true,
"webextensions": true
},
"rules": {
"no-console": "off",
"no-return-assign": "warn",
"no-param-reassign": "warn"
}
}

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
extension.crx
dist
.DS_Store
oldAssets
marketing.md

# Logs
logs
*.log
Expand Down
106 changes: 35 additions & 71 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,97 +1,61 @@
# Tomato pie
Schedule your time with a clock

<center>
<img src="https://raw.githubusercontent.com/timqian/images/master/tomatopie.gif"></img>
</center>

# Tomato Pie

A new UI for Pomodoro Technique

## Install

From [Chrome Web Store](https://chrome.google.com/webstore/detail/gffgechdocgfajkbpinmjjjlkjfjampi) or [manually]()

## Usage

## competitors
- http://slimtimer.com/
### Editing TODO list

![](https://raw.githubusercontent.com/timqian/images/master/tomatopie-intro1.gif)

### Doing Pomodoro

![](https://raw.githubusercontent.com/timqian/images/master/tomatopie-intro2.gif)

## Develop

1. Load extension to chrome
2. `npm start`: watch `index.html`
3. `npm run startBackground`: watch `background.js`
4. Tool to reload extension easier(seem auto reload is implemented by chrome, need verification): https://chrome.google.com/webstore/detail/fimgfedafeadlieiabdeeaodndnlbhid
1. `npm start`
1. Navigate to `chrome://extensions/`
1. Click the `load unpacked` button and load `dist` folder

## Architecture

store ==> render function ==> view =update=> store

### Tomato page
- [x] new tab: activate background page
- [x] new tab: get current tomato from storage
- [x] click start tomato: start timmer in background
- [x] click start tomato: start timmer on page
- [x] update icon time
- [x] parcel build ok but not parcel index.html -- use `parcel index.html --no-cache` instead
- [x] got tomato after 25 min instead of 30 min
- [ ] update datastucture
- [ ] add todo list
- [x] show today's tomato instead of last 24 hours
- [ ] add UI for in validate tomato
- [ ] historical tomatos
- [x] add tomato
- [ ] get today and yesterday's tomato and rander them
- [ ] 代码优化
- [x] all src code in src folder & all built code in dist folder
- [x] watch background updates and better way to export functions from background.js (by assign property to `window`)
- [ ] move all the data to store? implement historical tomato first
- [ ] when 25 minutes ends: ask user if the tomato is valid and what has he done as description
- [ ] when 30 minutes ends: stop timmer; pop up new page; ask if user want to start a new tomato on the same topic
- [x] How to store tomatos: one key for each day
- [x] get recent 2 days' tomatos and render clock

### Analization page
-

## Build(TODO)
## Build

```bash
npm run build
git clone https://github.com/t9tio/tomato-pie
```

## TODO:
- dat uri to share between devices
- Move repo to: https://github.com/tomato-pie/tomato-pie
- Join netwrok to see other people's tomatos

## Issues
- parcel server without --no-cache failed to run code correctly

## Ref
- clock style ref: https://codepen.io/HughDai/pen/MKKXJp
- style ref: https://codepen.io/collection/moAia/2/
- deploy dist folder: https://gist.github.com/cobyism/4730490
- motivation extension: https://github.com/maccman/motivation
## Refs

- Clock styles: https://codepen.io/collection/moAia/2/

## Charging
https://developer.chrome.com/webstore/money
## tec notes

## Promotion
- article:
- How I built an interface by svg
- Share data across devices without server
- answer questions on zhihu, recommand the tools to every place people are asking recomandation
- Make background.js always running [ref](https://stackoverflow.com/questions/17119266/how-do-i-keep-my-app-from-going-inactive):
1. in`manifest.json`, add `background` in `permission` key
2. in `manifest.json`, don't add `persistence: false` in `background` key

## Lession learned
At first I want to write this app in valina js, one hard thing to implement is to add tomatos manually when user want. By React + Mobx, I don't need to consider about this anymore, I can just change the state and give the render job to react.
## Similar tools

- make background.js always running [ref](https://stackoverflow.com/questions/17119266/how-do-i-keep-my-app-from-going-inactive):
1. `manifest.json``permission` key 中增加 `background`
2. `manifest.json` 中,`background` key 中不加 `persistence: false`

## competitors
- 76,767 user 342 评分https://chrome.google.com/webstore/detail/marinara-pomodoro%C2%AE-assist/lojgmehidjdhhbmpjfamhpkpodfcodef
- 128,193 user 8981 评分 https://chrome.google.com/webstore/detail/task-timer/aomfjmibjhhfdenfkpaodhnlhkolngif
- https://chrome.google.com/webstore/detail/marinara-pomodoro%C2%AE-assist/lojgmehidjdhhbmpjfamhpkpodfcodef
- https://chrome.google.com/webstore/detail/task-timer/aomfjmibjhhfdenfkpaodhnlhkolngif
- https://chrome.google.com/webstore/detail/timer/hepmlgghomccjinhcnkkikjpgkjibglj
- https://chrome.google.com/webstore/detail/timer-25-the-minimalist-t/gmdbcklinofignhfmibchnmgjcocccbh

- https://chrome.google.com/webstore/detail/timecamp-timer/ohbkdjmhoegleofcohdjagmcnkimfdaa
- https://chrome.google.com/webstore/detail/timer-25-the-minimalist-t/gmdbcklinofignhfmibchnmgjcocccbh

成长的表现是会对更小的创新感到激动,因为明白了更大的创新很难?

## Thanks

## Tools
- chart: https://github.com/apexcharts/apexcharts.js
- Layla and [Joshua](https://github.com/joshua7v) for meaningful discussions
Loading

0 comments on commit aa36e12

Please sign in to comment.