GitXplorerGitXplorer
n

Contact-Manager

public
3 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
90da816caa71f49a9f1e17be5e9899843143f474

Refactor ContactForm component tree into child

nn3tr committed 9 years ago
Unverified
978de15008bf30941a2a0fff35f6974562662d3b

Change id root to app

nn3tr committed 9 years ago
Unverified
c6d3d597d1c73301c6471ce2573f8e07f573dd4a

Bootstrap font, Bar button (Home, Add)

nn3tr committed 9 years ago
Unverified
ab0d45a9ee55183d125fd262f1f10b716a3b314b

Remove unused CSS selection

nn3tr committed 9 years ago
Unverified
52a6b0c9d2b692db371f1079633e8d216349a0e3

Contact List Item ActiveClass

nn3tr committed 9 years ago
Unverified
eaa0053a3989da22b8d41fddb5a6d49eece97838

Update README, Add Demo

nn3tr committed 9 years ago

README

The README file for this repository.

Backbone Contact Manager

An example of conversion Backbone contact manager app to React + Redux + React Router.. Webpack.. 📦

Demo

https://contact-manager-n3.herokuapp.com

Hacking

npm install
npm run dev
# open another terminal
npm run watch
# OR
webpack --watch
# localhost:3000

Testing

npm test

TODO

  • [x] Setup NPM and dependencies module.
    • Due to deprecrated of JSXTransform and Babel-browser
  • [x] Convert source code into modules.
    • [x] ContactManager
    • [x] Backbone View and Modole
    • [x] Router
  • [x] app.js as entry point.
  • [x] Webpack Config file for code build.
  • [x] Backbone View to React Component
  • [x] Redux Reducer
    • [x] Contacts reducer with test
    • [x] Refactor ContactReducer into 2 reducers: Contact, ContactById
    • Note: Idea to Designing the State Shape : http://redux.js.org/docs/basics/Reducers.html
      Would be better with normalizr
    • [x] Use Provide and Connect from react-redux
    • [x] Create Redux store with reducers
    • [x] Make ContactList and ContactForm use redux store instead BackboneModel.
  • [x] Remove Backbone Model, View.
  • [x] Create Routes using react-router
  • [x] Replace Backbone's Router with react-router
  • [x] Remove Backbone.js, jQuery, and Underscore.
  • [x] Restructure code by move reducers and storeState into separate module
  • [x] Cleanup code by using redux's mapStateToProps.
    • This allow to implement component as stateless component.
  • [x] Clean up component tree by using child component.
  • [x] Add Contact Detail view.
  • [x] Alert on Destructive action

Design

  • [x] CSS Master-View (split pane).
  • [x] Responsive Support : Tested on Chrome/iOS9

To be implemented

  • [ ] Refactor ContactForm component tree.
  • [ ] Data Model
    • Immutable.js or custom base model, should be archived immutable data flow.
  • [ ] Design: Contact Detail.
  • [ ] Design: Contact Form.

Deployment / CI

  • [x] Express for page serving.
    • Note: Need express to host static content on heroku.
  • [x] Webpack Production config and build script
  • [x] Procfile and start script
  • [x] Add Travis for CI
  • [x] Add Github hook to heroku for auto Deployment

Simple Backbone.js React + Redux + React-router example application

Slides

http://dmytroyarmak.github.io/codeangels-backbone-introduction

Tutorial

Next lesson

https://github.com/dmytroyarmak/marionette-contact-manager