A time-based Todo-list App with simple design, which is a side-project of mine
What is BusyWeek!
BusyWeek! is a time-based Todo-list App with simple, elegant design, which can help you manage your schedule by automatically convert time between
- What is the date that day?
- What day is it that day?
- How many days before/after that day?
and present a Todo-list sorted by date to you.
- Out of the box
- No annoying
- Cloud sync
- Material Design
This project is no longer maintained and would be rewrite using React.js.
Although Vue.js is a very simple, awesome, light-weight MVVM library and support Component System now days, but React.js does better in many way:
- Model and View is not strictly bound(limit each other), which is more flexible than ViewModel data-binding
- The Old Back-end MVC way is more simple and focused when deal with UI rendering than MVVM
- Represent UI as a state machine making UI logic predictable and easy to maintain
- UI template is more declarative with JSX than a template engine DSL
- Communication between components is clear with
- Ecosystem is more active and strong.
- Vue.js upgrade to 0.12.12 (from 0.11)
- Migrate to
gulp-connectinstead of own wrote
- Optimize for Cordova use
- Add npm script
- LogIn/SignUp/CloudSync support!
- Router use director.js
- Fix scrollTo() unusable when migrating to iScroll
- Using iScroll to fake native scrolling now!
standalonestyle support! (and Hybrid is ready!)
- Using new vanilla-node
grunt-connectto local used server
gulp serveto exec the
supervisor server.js(need supervisor installed globally)
Gruntfile.jsmove to the
- Drop all grunt-dependencies in
- Try best to load all js file more async
deferattr to the script tag load require.js
- And using require.js
data-mainattr to load entry js file asynchronously
- Brand new Loading Screen! Gorgeous splash animation
- After using Require.js as the module loader, I put all
<script>tag at the end of
<body>, which expose the rendering process in desktop ( Mobile will be waiting all script ready then render)
- The second reason help to trigger this problem is that desktop will perform all "transition" at the beginning if you set
- So I fixed this issue by hack the CSS of Loading Screen
- If you try to use
display:noneto hidden all UI except Loading, It is truly expensive.
- DayPicker in newTodoView now support "选个日期" as the option out of range
- Using Autoprefixer as one task of the CSS pre-compile, mainly for Flexbox.
- Fix layout of the 3 pickers in newTodoView, by re-write the Flexbox style
- Code Optimization
- FAB now using iconfont instead of text, to fix the line-height issue
- Drawer is speeding up while touch moving by add a class to control
- Todo item now support Multi line!
- The view and edit of todo now decouple
- Brand new Material design! including icons and FAB (Floating Action Button)
- Responsive Design for Desktop is working
- Icon now support by icomoon (no more iconfont.cn)
- MPI.css is tiny down
- Abandon MPI.css
- Navigation Drawer is coming!
- Now you can FILTER todos by done or not
- Filter Mechanism
- No more border of todo items now, seeing the render issues
- Migrate to RequireJS as the JS module loader
- Using Gulp as workflow tool now
- Using Require.js Optimizer as build tool now
- We will no longer using Grunt
- Add weekdays display for newTodoView
window.screen.height != window.innerHeightin iOS Safari, use
window.innerHeightto fix intelliScroll issues
- IntelliScroll!: we create a postion system to calculate to where should the list scroll when a new todo is added in.
- Motion improvement
- NewTodoView now display in fullscreen, to fix the input & keyboard issues (always in mobile)
push.shfor master and gh-pages branch sync
- Fastclick now support by CDN
- First release!
- Using Vue.js as MVVM framework
- Using NPM as module management
- Using Grunt as task runner