Skip to content
A scaleable, offline-first, responsive Task Manager
JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Screen Shots
app
internals
server
.editorconfig
.gitattributes
.gitignore
.travis.yml
Procfile
README.md
appveyor.yml
package.json
yarn.lock

README.md


An offline-first, responsive Task Manager Application
This application uses React, Redux, Styled Components, ImmutableJS and other cool tech.

Features

Predictable state management using Redux
Unidirectional data flow allows for change logging and time travel debugging.
Responsive Design
Mobile first layout, without using any UI Framework
Responsive Inputs
Input fields respond to touch/click, through a Material Design inspired implementation
Progressive Web
Progressive Web Application features through `manifest.json` - Home Icon, Full Screen Native App - like performance, Add to Home Screen alert, Splash Screen etc. on Android and other mobile devices
Unit Testing
All components tested via. Enzyme and Jest
Next generation JavaScript (ES6, 7)
Template strings, object destructuring, arrow functions, JSX syntax and more.
Next generation CSS
Styled Components, Modular CSS
Industry-standard routing
Routing using React Router
Offline-first
Production builds are offline first, and therefore optimized for low or no network conditions
SEO
SEO (document head tags management) for search engines that support indexing of JavaScript content. (eg. Google)

Quick start

  1. Clone this repo
  2. cd into the directory and run yarn or npm install
  3. Run yarn start or npm start
  4. To see test coverage, run npm test

State Structure

tasks: [
 {
   id: 'fccfe817-418e-48f3-9402-c447a8376a94',
   title: 'Create Project Structure',
   edit: false,
   status: 'active'
 },
 {
   id: '74154ff3-610d-4a90-b1a1-a95e5dc075e2',
   title: 'Add styles',
   edit: false,
   status: 'active'
 }
],
currentTask: {
 id: 'c575bff6-4d9a-4fa0-bfa1-c3de7fc64827',
 title: null,
 status: 'active',
 edit: false
}

Wishlist

  1. Move UUID creation from reducer to Action creator to ensure purity of reducer function
  2. Implement Demo Flow
  3. Do basic cross browser testing
  4. Implement persistence via. LocalStorage API

Known Issues

  1. Tap event on Mobile sporadically fails/behaves weirdly
  2. Styles get unnecessarily cached at times
You can’t perform that action at this time.