{"action":"created","issue":{"url":"https://api.github.com/repos/hapijs/university/issues/172","labels_url":"https://api.github.com/repos/hapijs/university/issues/172/labels{/name}","comments_url":"https://api.github.com/repos/hapijs/university/issues/172/comments","events_url":"https://api.github.com/repos/hapijs/university/issues/172/events","html_url":"https://github.com/hapijs/university/issues/172","id":98195491,"number":172,"title":"Assignment9 and Beyond","user":{"login":"zoe-1","id":1852507,"avatar_url":"https://avatars.githubusercontent.com/u/1852507?v=3","gravatar_id":"","url":"https://api.github.com/users/zoe-1","html_url":"https://github.com/zoe-1","followers_url":"https://api.github.com/users/zoe-1/followers","following_url":"https://api.github.com/users/zoe-1/following{/other_user}","gists_url":"https://api.github.com/users/zoe-1/gists{/gist_id}","starred_url":"https://api.github.com/users/zoe-1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zoe-1/subscriptions","organizations_url":"https://api.github.com/users/zoe-1/orgs","repos_url":"https://api.github.com/users/zoe-1/repos","events_url":"https://api.github.com/users/zoe-1/events{/privacy}","received_events_url":"https://api.github.com/users/zoe-1/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hapijs/university/labels/discussion","name":"discussion","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-07-30T15:18:15Z","updated_at":"2015-12-03T16:55:53Z","closed_at":null,"body":"Where are we going next? Most of the goals discussed at: #132 have been achieved.\r\n\r\nBelow is a list of subjects discussed earlier that have not yet been covered or were lightly\r\ncovered. @FennNaten made most of the below recommendations in the discussion at: #132.\r\nRead the below and share your thoughts about the direction of the university :-)\r\n\r\n*  Caching handling, both client-side with hapi abilities and server-side with catbox.\r\nCaching correctly is critical to have reactive websites. \r\n  - We have done nothing with caching yet.\r\n* Role-based authorization. There may be plugins to do that already, or it can be handled by using several auth strategies, \r\n but it would be cool for everyone to try an implementation, saying e.g. that roles that can access a route should be provided as route configuration,\r\n and role-check performed at post-authentication. This would drive us into using request lifecycle hooks.\r\n - This has been explored some with hapi-auth-cookie and scopes but we could go deeper.\r\n* Maybe having some data exposed using CORS and/or jsonp (let's say our awesome website exposes a little public module \r\nfor people wanting to display our latest news on their own site) Some form of content negociation. \r\nLet's say e.g. that our nice 'latest news' endpoint can serve the data as xml, json or plain text depending on request headers.\r\nRoutes documentation with lout.\r\n* Configuration switch tied to environment maybe (e.g. dev/test).\r\n* Some client-side js loading data from our API via ajax requests ?\r\nProvide error pages to hook on some http statuses (unauthorized, 404, server errors). \r\nWould be another opportunity to hook on the request/response lifecycle.\r\n - Already covered this but we could go deeper. \r\n* @simon-p-r on gitter mentioned configuring tls options for ciphers and honorCipherOrder which control the protocol level used. \r\nI have not researched this but it's here for discussion. \r\n* Making proper use of a database.<br/>\r\nOver the past several months, many expressed the desire to include a database (See #132).\r\nAt this point in the project, it would be reasonable to include a DB. Since hapijs is part of the     \r\nJavaScript and node.js universe, it would be appropriate to use a JSON document database like couchDB or Mongo.  Or, perhaps the community wants to keep the university focused on JavaScript and hapijs. What are your thoughts? Personally, I think database support would make the university much more interesting and attractive to people who are considering changing technologies and begin using hapijs. \r\n\r\nI have been preparing to use couchdb in a hapijs application by writing logic with 100% test coverage here: [sofajs](https://github.com/zoe-1/sofajs) This project is not complete but it illustrates a direction we could head with couchdb (nano and 100% hapijs/lab test coverage)\r\n\r\nOther Ideas:<br/>\r\n* image/file uploading\r\nMost developers would benefit from some file uploading code. Coming from Rails I still appreciate plugins like: paperclip. I have not seen anything like this in the node.js world. Perhaps it exists, but I have not found it yet.\r\n\r\n* Consider contributing an assignment?\r\nIf you see a subject in the above list you have experience with, consider sharing your knowledge by writing an assignment :-) You will learn more by teaching a subject than studying it.  "},"comment":{"url":"https://api.github.com/repos/hapijs/university/issues/comments/161714043","html_url":"https://github.com/hapijs/university/issues/172#issuecomment-161714043","issue_url":"https://api.github.com/repos/hapijs/university/issues/172","id":161714043,"user":{"login":"rutaihwa","id":481028,"avatar_url":"https://avatars.githubusercontent.com/u/481028?v=3","gravatar_id":"","url":"https://api.github.com/users/rutaihwa","html_url":"https://github.com/rutaihwa","followers_url":"https://api.github.com/users/rutaihwa/followers","following_url":"https://api.github.com/users/rutaihwa/following{/other_user}","gists_url":"https://api.github.com/users/rutaihwa/gists{/gist_id}","starred_url":"https://api.github.com/users/rutaihwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rutaihwa/subscriptions","organizations_url":"https://api.github.com/users/rutaihwa/orgs","repos_url":"https://api.github.com/users/rutaihwa/repos","events_url":"https://api.github.com/users/rutaihwa/events{/privacy}","received_events_url":"https://api.github.com/users/rutaihwa/received_events","type":"User","site_admin":false},"created_at":"2015-12-03T16:55:53Z","updated_at":"2015-12-03T16:55:53Z","body":"I'm still very interested, when are we coming off `hibernation mode`."}}