Git Product home page Git Product logo

5ndn / resourcetracker Goto Github PK

View Code? Open in Web Editor NEW
10.0 4.0 5.0 833 KB

A simple resource tracker built as a responsive web app for displaying and tracking resources built on React, Flux, and the Google Spreadsheets API.

JavaScript 51.95% CSS 46.28% HTML 1.77%
project-management resource-handler scheduler-service google-spreadsheet google-sheets-api react flux resource-manager resource-tracking project-manager

resourcetracker's Introduction

Five & Done - Resource Tracker

The result of an internal code sprint with the intention of displaying company resources in a simple manner using existing Google Sheets data.

Very much a proof of concept, prototype, juggling with knives, alpha-alpha-alpha build.

How Do I Make It Go

It's pretty simple, but we have a Wiki to try and make it user friendly-ish.

resourcetracker's People

Contributors

joshuajones avatar yashar1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

resourcetracker's Issues

UI Not Loading

Hi @JoshuaJones @yashar1 for such amazing work, I guess this is what I need for my internal resource tracking. I tried the steps and deployed here- https://employee-tracker.s3.ap-south-1.amazonaws.com/index.html, I havent changed anything you google sheet, just copied under my drive. Any idea what can be wrong? You can directly check in above url for issues as well

But I am getting below errors in chrome console

main.js:2486 Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of PeopleTable. See https://fb.me/react-warning-keys for more information. in WeeksRow (created by PeopleTable) in PeopleTable (created by TrackerPanel) in div (created by TrackerPanel) in TrackerPanel printWarning @ main.js:2486 warning @ main.js:2510 validateExplicitKey @ main.js:21281 validateChildKeys @ main.js:21301 createElement @ main.js:21389 render @ main.js:22195 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 _updateRenderedComponent @ main.js:8836 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22510 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 _reloadTracker @ main.js:23183 Tracker @ main.js:22688 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 19 more frames main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22510 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 _reloadTracker @ main.js:23183 Tracker @ main.js:22688 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 33 more frames main.js:23050 Uncaught TypeError: Cannot read property '0' of undefined at _parseProjects (main.js:23050) at Object.success (main.js:23021) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4) at XMLHttpRequest.<anonymous> (jquery.min.js:4) _parseProjects @ main.js:23050 success @ main.js:23021 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getDates @ main.js:22964 _reloadTracker @ main.js:23185 Tracker @ main.js:22688 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 screensaver.png:1 GET https://employee-tracker.s3.ap-south-1.amazonaws.com/path/to/screensaver.png 404 (Not Found) Image (async) setValueForProperty @ main.js:5764 _updateDOMProperties @ main.js:9985 updateComponent @ main.js:9861 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22378 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 _reloadTracker @ main.js:23183 Tracker @ main.js:22688 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 17 more frames main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 tick @ main.js:22499 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 26 more frames main.js:23050 Uncaught TypeError: Cannot read property '0' of undefined at _parseProjects (main.js:23050) at Object.success (main.js:23021) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4) at XMLHttpRequest.<anonymous> (jquery.min.js:4) _parseProjects @ main.js:23050 success @ main.js:23021 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getDates @ main.js:22964 (anonymous) @ main.js:23238 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload @ main.js:22779 tick @ main.js:22497 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22510 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 (anonymous) @ main.js:23250 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload_settings @ main.js:22794 tick @ main.js:22498 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 33 more frames main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 tick @ main.js:22499 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 26 more frames main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22510 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 (anonymous) @ main.js:23250 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload_settings @ main.js:22794 tick @ main.js:22498 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 33 more frames main.js:23050 Uncaught TypeError: Cannot read property '0' of undefined at _parseProjects (main.js:23050) at Object.success (main.js:23021) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4) at XMLHttpRequest.<anonymous> (jquery.min.js:4) _parseProjects @ main.js:23050 success @ main.js:23021 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getDates @ main.js:22964 (anonymous) @ main.js:23238 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload @ main.js:22779 tick @ main.js:22497 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 tick @ main.js:22499 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 26 more frames main.js:22603 Uncaught TypeError: Cannot read property 'replace' of undefined at WeeksRow.render (main.js:22603) at main.js:8886 at measureLifeCyclePerf (main.js:8166) at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (main.js:8885) at ReactCompositeComponentWrapper._renderValidatedComponent (main.js:8912) at ReactCompositeComponentWrapper.performInitialMount (main.js:8452) at ReactCompositeComponentWrapper.mountComponent (main.js:8348) at Object.mountComponent (main.js:14615) at Object.updateChildren (main.js:7989) at ReactDOMComponent._reconcilerUpdateChildren (main.js:13979) render @ main.js:22603 (anonymous) @ main.js:8886 measureLifeCyclePerf @ main.js:8166 _renderValidatedComponentWithoutOwnerOrContext @ main.js:8885 _renderValidatedComponent @ main.js:8912 performInitialMount @ main.js:8452 mountComponent @ main.js:8348 mountComponent @ main.js:14615 updateChildren @ main.js:7989 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 receiveComponent @ main.js:8637 receiveComponent @ main.js:14694 updateChildren @ main.js:7977 _reconcilerUpdateChildren @ main.js:13979 _updateChildren @ main.js:14083 updateChildren @ main.js:14070 _updateDOMChildren @ main.js:10048 updateComponent @ main.js:9862 receiveComponent @ main.js:9824 receiveComponent @ main.js:14694 _updateRenderedComponent @ main.js:8844 _performComponentUpdate @ main.js:8814 updateComponent @ main.js:8735 performUpdateIfNecessary @ main.js:8651 performUpdateIfNecessary @ main.js:14726 runBatchedUpdates @ main.js:15436 perform @ main.js:17223 perform @ main.js:17223 perform @ main.js:15375 flushBatchedUpdates @ main.js:15458 closeAll @ main.js:17289 perform @ main.js:17236 batchedUpdates @ main.js:12413 enqueueUpdate @ main.js:15486 enqueueUpdate @ main.js:15076 enqueueSetState @ main.js:15270 ReactComponent.setState @ main.js:19991 _settingsChanged @ main.js:22510 emitNone @ main.js:1032 emit @ main.js:1112 emitChange @ main.js:23194 success @ main.js:22902 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getSettings @ main.js:22864 (anonymous) @ main.js:23250 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload_settings @ main.js:22794 tick @ main.js:22498 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507 Show 33 more frames main.js:23050 Uncaught TypeError: Cannot read property '0' of undefined at _parseProjects (main.js:23050) at Object.success (main.js:23021) at i (jquery.min.js:2) at Object.fireWith [as resolveWith] (jquery.min.js:2) at A (jquery.min.js:4) at XMLHttpRequest.<anonymous> (jquery.min.js:4) _parseProjects @ main.js:23050 success @ main.js:23021 i @ jquery.min.js:2 fireWith @ jquery.min.js:2 A @ jquery.min.js:4 (anonymous) @ jquery.min.js:4 load (async) send @ jquery.min.js:4 ajax @ jquery.min.js:4 _getDates @ main.js:22964 (anonymous) @ main.js:23238 _invokeCallback @ main.js:2728 dispatch @ main.js:2704 reload @ main.js:22779 tick @ main.js:22497 (anonymous) @ main.js:22491 setInterval (async) componentDidMount @ main.js:22490 (anonymous) @ main.js:8355 measureLifeCyclePerf @ main.js:8166 (anonymous) @ main.js:8354 notifyAll @ main.js:4701 close @ main.js:14472 closeAll @ main.js:17289 perform @ main.js:17236 batchedMountComponentIntoNode @ main.js:13361 perform @ main.js:17223 batchedUpdates @ main.js:12413 batchedUpdates @ main.js:15383 _renderNewRootComponent @ main.js:13554 _renderSubtreeIntoContainer @ main.js:13636 render @ main.js:13657 Tracker @ main.js:22686 handleAuthResult @ main.js:22745 e.Sr @ cb=gapi.loaded_0:155 Lk @ cb=gapi.loaded_0:158 Gk @ cb=gapi.loaded_0:158 _.rk.xU @ cb=gapi.loaded_0:158 ok @ cb=gapi.loaded_0:149 Promise.then (async) jk @ cb=gapi.loaded_0:149 _.nk @ cb=gapi.loaded_0:149 Hk @ cb=gapi.loaded_0:157 _.rk.xh @ cb=gapi.loaded_0:156 (anonymous) @ cb=gapi.loaded_0:151 (anonymous) @ cb=gapi.loaded_0:904 (anonymous) @ cb=gapi.loaded_0:581 (anonymous) @ cb=gapi.loaded_0:586 g @ cb=gapi.loaded_0:585 (anonymous) @ cb=gapi.loaded_0:524 _.h.Q_ @ cb=gapi.loaded_0:505 (anonymous) @ cb=gapi.loaded_0:507

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.