{"action":"created","issue":{"url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/10","repository_url":"https://api.github.com/repos/ratchetcloud/powerforums","labels_url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/10/comments","events_url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/10/events","html_url":"https://github.com/ratchetcloud/powerforums/pull/10","id":347555319,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MTUzOTMx","number":10,"title":"Re-structuring `client`","user":{"login":"Prev","id":3872573,"node_id":"MDQ6VXNlcjM4NzI1NzM=","avatar_url":"https://avatars1.githubusercontent.com/u/3872573?v=4","gravatar_id":"","url":"https://api.github.com/users/Prev","html_url":"https://github.com/Prev","followers_url":"https://api.github.com/users/Prev/followers","following_url":"https://api.github.com/users/Prev/following{/other_user}","gists_url":"https://api.github.com/users/Prev/gists{/gist_id}","starred_url":"https://api.github.com/users/Prev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Prev/subscriptions","organizations_url":"https://api.github.com/users/Prev/orgs","repos_url":"https://api.github.com/users/Prev/repos","events_url":"https://api.github.com/users/Prev/events{/privacy}","received_events_url":"https://api.github.com/users/Prev/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-03T22:40:20Z","updated_at":"2018-08-03T22:43:56Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/ratchetcloud/powerforums/pulls/10","html_url":"https://github.com/ratchetcloud/powerforums/pull/10","diff_url":"https://github.com/ratchetcloud/powerforums/pull/10.diff","patch_url":"https://github.com/ratchetcloud/powerforums/pull/10.patch"},"body":"Make components re-usable and separate their roles.\r\n\r\n### 1. Project tree is modified.\r\n\r\n_Before:_\r\n- /containers\r\n- /actions\r\n- /reducers\r\n- /forms\r\n\r\n_After:_\r\n- /components -> Re-usable components. (No side-effect)\r\n- /containers -> Side-effect, Ajax, correspond to router DOM. (Maybe called like `modules`)\r\n    - actions.js\r\n    - reducer.js\r\n    - index.js (Container component)\r\n    - component.js (Optional. Presentational component of this model/container)\r\n    - forms, css...\r\n\r\n\r\n### 2. `User` and `Report` features are removed.\r\n\r\nFeatures for managing `User` would not be included to `client package`.\r\nMake `admin` or `dashboard` package in soon.\r\n\r\nThere is no specific requirements for `Report` now, so it is confusing codes.\r\nThis feature would be implemented later.\r\n\r\n\r\n### 3. `NodeList` is renewed to `NodeView`.\r\n\r\nAll variables named `parent` and `nodes` are changed to `node` and `children`.  \r\nFrom now, this module's role is not to **LIST** nodes, but show node's content and it's children.\r\n\r\nThere are two types of node to _view_, `Forum` and `Topic`.\r\n`Reply` is **weak**-type node, can not be stand-alone, so there is no view component of `Reply`,\r\njust exists as `ListItem`.\r\n\r\nAll `ListItem` in View **aim to state-less** (no side-effect).\r\nSo **every events on `ListItem`** that requires AJAX (like edit, delete, set sticky, etc...) is propagated to `index.js (Container component)`, then processed by container component.\r\n\r\nSo roles of each `js` likes below:\r\n\r\n- `index.js`: handle functions and events having side-effects, wrapping components.\r\n- `ForumComponent`: Show navigation, pagination, list of children(forums and topics), and creation forms.\r\n- `TopicComponent`: Show navigation, pagination, show content of the `Topic`, list of children(replies), and creation forms.\r\n- `items/ForumItem`: Forum component used in list.\r\n- `items/TopicItem`: Forum component used in list.\r\n- `items/ReplyItem`: Forum component used in list. Include editing-form\r\n\r\n\r\nCurrently, `create***Form` has side-effects. (Not removed yet)\r\nIt would be modified before merge this branch to `dev`.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/comments/410394623","html_url":"https://github.com/ratchetcloud/powerforums/pull/10#issuecomment-410394623","issue_url":"https://api.github.com/repos/ratchetcloud/powerforums/issues/10","id":410394623,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDM5NDYyMw==","user":{"login":"coveralls","id":2354108,"node_id":"MDQ6VXNlcjIzNTQxMDg=","avatar_url":"https://avatars1.githubusercontent.com/u/2354108?v=4","gravatar_id":"","url":"https://api.github.com/users/coveralls","html_url":"https://github.com/coveralls","followers_url":"https://api.github.com/users/coveralls/followers","following_url":"https://api.github.com/users/coveralls/following{/other_user}","gists_url":"https://api.github.com/users/coveralls/gists{/gist_id}","starred_url":"https://api.github.com/users/coveralls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coveralls/subscriptions","organizations_url":"https://api.github.com/users/coveralls/orgs","repos_url":"https://api.github.com/users/coveralls/repos","events_url":"https://api.github.com/users/coveralls/events{/privacy}","received_events_url":"https://api.github.com/users/coveralls/received_events","type":"User","site_admin":false},"created_at":"2018-08-03T22:43:56Z","updated_at":"2018-08-03T22:43:56Z","author_association":"NONE","body":"## Pull Request Test Coverage Report for [Build 64](https://coveralls.io/builds/18321464)\n\n* **0** of **0**   changed or added relevant lines in **0** files are covered.\n* No unchanged relevant lines lost coverage.\n* Overall coverage remained the same at **64.121%**\n\n---\n\n\n\n|  Totals | [![Coverage Status](https://coveralls.io/builds/18321464/badge)](https://coveralls.io/builds/18321464) |\n| :-- | --: |\n| Change from base [Build 63](https://coveralls.io/builds/18321167): |  0.0% |\n| Covered Lines: | 269 |\n| Relevant Lines: | 382 |\n\n---\n##### 💛  - [Coveralls](https://coveralls.io)\n"}}
{"actor":{"display_login":"coveralls"}}