{"action":"created","comment":{"url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments/146428973","pull_request_review_id":71369221,"id":146428973,"diff_hunk":"@@ -1,19 +1,33 @@\n ## Week Three - Module 4 Recap\n \n-Fork this respository. Answer the questions to the best of your ability. Try to answer them with limited amount of external research. These questions cover the majority of what we've learned this week. \n+Fork this respository. Answer the questions to the best of your ability. Try to answer them with limited amount of external research. These questions cover the majority of what we've learned this week.\n \n-Note: When you're done, submit a PR. \n+Note: When you're done, submit a PR.\n \n 1. At a high level, what is Node?\n+  - Node is essentially a way to run JavaScript on the server side using Google's V8 JavaScript engine.\n 2. What is Express? What is Express similar to in the Ruby world?\n+  - Express is a web application framework for JavaScript. I would probably compare it to Sinatra in the way that it is structured.\n 3. How do we setup a route when creating an API with Node and Express? Please provide a code snippet.\n+  - ```\n+    app.get('/', function(request, response) {\n+        response.send('Welcome home.')\n+      })\n+    ```\n 4. What do we use Knex for?\n+  - Knex is used for writing migrations and building SQL queries in express.\n 5. How could you organize your code to follow the MVC design pattern in your Quantified Self project?\n+  - By kind of modeling the server.js file as a router, and then abstracting code dealing with retrieving information from the database into models, code dealing with requesting and passing that information to the controller level, and I'm not quite sure how the view fits here with Quantified Self since it was in a separate app and I've always envisioned the view layer as more a template that produces html rather than an actual html page with JS.\n 6. How do you execute raw SQL in node?\n+  - Using knex it would be `database.raw('SELECT * FROM good_doggos')`","path":"module-4/backend/week_three.md","position":24,"original_position":24,"commit_id":"fe15741e4dbed6abaad682d17f22942616a38f54","original_commit_id":"fe15741e4dbed6abaad682d17f22942616a38f54","user":{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false},"body":"good_doggos! 🎉 ","created_at":"2017-10-24T00:34:18Z","updated_at":"2017-10-24T00:35:22Z","html_url":"https://github.com/turingschool/checks-for-understanding/pull/607#discussion_r146428973","pull_request_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments/146428973"},"html":{"href":"https://github.com/turingschool/checks-for-understanding/pull/607#discussion_r146428973"},"pull_request":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607"}}},"pull_request":{"url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607","id":148002751,"html_url":"https://github.com/turingschool/checks-for-understanding/pull/607","diff_url":"https://github.com/turingschool/checks-for-understanding/pull/607.diff","patch_url":"https://github.com/turingschool/checks-for-understanding/pull/607.patch","issue_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/607","number":607,"state":"open","locked":false,"title":"1705BE Michael Sagapolutele Week 3 ","user":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"body":"","created_at":"2017-10-22T16:58:59Z","updated_at":"2017-10-24T00:35:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dcda447487baa44c58c42aada75db48dc9da486d","assignee":{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false},"assignees":[{"login":"case-eee","id":6503717,"avatar_url":"https://avatars0.githubusercontent.com/u/6503717?v=4","gravatar_id":"","url":"https://api.github.com/users/case-eee","html_url":"https://github.com/case-eee","followers_url":"https://api.github.com/users/case-eee/followers","following_url":"https://api.github.com/users/case-eee/following{/other_user}","gists_url":"https://api.github.com/users/case-eee/gists{/gist_id}","starred_url":"https://api.github.com/users/case-eee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/case-eee/subscriptions","organizations_url":"https://api.github.com/users/case-eee/orgs","repos_url":"https://api.github.com/users/case-eee/repos","events_url":"https://api.github.com/users/case-eee/events{/privacy}","received_events_url":"https://api.github.com/users/case-eee/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607/commits","review_comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607/comments","review_comment_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments{/number}","comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/607/comments","statuses_url":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/fe15741e4dbed6abaad682d17f22942616a38f54","head":{"label":"MikelSage:master","ref":"master","sha":"fe15741e4dbed6abaad682d17f22942616a38f54","user":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"repo":{"id":106286060,"name":"checks-for-understanding","full_name":"MikelSage/checks-for-understanding","owner":{"login":"MikelSage","id":26507085,"avatar_url":"https://avatars0.githubusercontent.com/u/26507085?v=4","gravatar_id":"","url":"https://api.github.com/users/MikelSage","html_url":"https://github.com/MikelSage","followers_url":"https://api.github.com/users/MikelSage/followers","following_url":"https://api.github.com/users/MikelSage/following{/other_user}","gists_url":"https://api.github.com/users/MikelSage/gists{/gist_id}","starred_url":"https://api.github.com/users/MikelSage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MikelSage/subscriptions","organizations_url":"https://api.github.com/users/MikelSage/orgs","repos_url":"https://api.github.com/users/MikelSage/repos","events_url":"https://api.github.com/users/MikelSage/events{/privacy}","received_events_url":"https://api.github.com/users/MikelSage/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/MikelSage/checks-for-understanding","description":null,"fork":true,"url":"https://api.github.com/repos/MikelSage/checks-for-understanding","forks_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/forks","keys_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/keys{/key_id}","collaborators_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/teams","hooks_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/hooks","issue_events_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues/events{/number}","events_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/events","assignees_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/assignees{/user}","branches_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/branches{/branch}","tags_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/tags","blobs_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/refs{/sha}","trees_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/trees{/sha}","statuses_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/statuses/{sha}","languages_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/languages","stargazers_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/stargazers","contributors_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/contributors","subscribers_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/subscribers","subscription_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/subscription","commits_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/commits{/sha}","git_commits_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/git/commits{/sha}","comments_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/comments{/number}","issue_comment_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues/comments{/number}","contents_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/contents/{+path}","compare_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/compare/{base}...{head}","merges_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/merges","archive_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/downloads","issues_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/issues{/number}","pulls_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/pulls{/number}","milestones_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/milestones{/number}","notifications_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/labels{/name}","releases_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/releases{/id}","deployments_url":"https://api.github.com/repos/MikelSage/checks-for-understanding/deployments","created_at":"2017-10-09T13:18:47Z","updated_at":"2017-09-02T18:52:10Z","pushed_at":"2017-10-22T16:58:06Z","git_url":"git://github.com/MikelSage/checks-for-understanding.git","ssh_url":"git@github.com:MikelSage/checks-for-understanding.git","clone_url":"https://github.com/MikelSage/checks-for-understanding.git","svn_url":"https://github.com/MikelSage/checks-for-understanding","homepage":null,"size":55,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"turingschool:master","ref":"master","sha":"def3b1c6b5a384f102a7fa564f8dde437254a903","user":{"login":"turingschool","id":7934292,"avatar_url":"https://avatars0.githubusercontent.com/u/7934292?v=4","gravatar_id":"","url":"https://api.github.com/users/turingschool","html_url":"https://github.com/turingschool","followers_url":"https://api.github.com/users/turingschool/followers","following_url":"https://api.github.com/users/turingschool/following{/other_user}","gists_url":"https://api.github.com/users/turingschool/gists{/gist_id}","starred_url":"https://api.github.com/users/turingschool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turingschool/subscriptions","organizations_url":"https://api.github.com/users/turingschool/orgs","repos_url":"https://api.github.com/users/turingschool/repos","events_url":"https://api.github.com/users/turingschool/events{/privacy}","received_events_url":"https://api.github.com/users/turingschool/received_events","type":"Organization","site_admin":false},"repo":{"id":66577733,"name":"checks-for-understanding","full_name":"turingschool/checks-for-understanding","owner":{"login":"turingschool","id":7934292,"avatar_url":"https://avatars0.githubusercontent.com/u/7934292?v=4","gravatar_id":"","url":"https://api.github.com/users/turingschool","html_url":"https://github.com/turingschool","followers_url":"https://api.github.com/users/turingschool/followers","following_url":"https://api.github.com/users/turingschool/following{/other_user}","gists_url":"https://api.github.com/users/turingschool/gists{/gist_id}","starred_url":"https://api.github.com/users/turingschool/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/turingschool/subscriptions","organizations_url":"https://api.github.com/users/turingschool/orgs","repos_url":"https://api.github.com/users/turingschool/repos","events_url":"https://api.github.com/users/turingschool/events{/privacy}","received_events_url":"https://api.github.com/users/turingschool/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/turingschool/checks-for-understanding","description":null,"fork":false,"url":"https://api.github.com/repos/turingschool/checks-for-understanding","forks_url":"https://api.github.com/repos/turingschool/checks-for-understanding/forks","keys_url":"https://api.github.com/repos/turingschool/checks-for-understanding/keys{/key_id}","collaborators_url":"https://api.github.com/repos/turingschool/checks-for-understanding/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/turingschool/checks-for-understanding/teams","hooks_url":"https://api.github.com/repos/turingschool/checks-for-understanding/hooks","issue_events_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/events{/number}","events_url":"https://api.github.com/repos/turingschool/checks-for-understanding/events","assignees_url":"https://api.github.com/repos/turingschool/checks-for-understanding/assignees{/user}","branches_url":"https://api.github.com/repos/turingschool/checks-for-understanding/branches{/branch}","tags_url":"https://api.github.com/repos/turingschool/checks-for-understanding/tags","blobs_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/refs{/sha}","trees_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/trees{/sha}","statuses_url":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/{sha}","languages_url":"https://api.github.com/repos/turingschool/checks-for-understanding/languages","stargazers_url":"https://api.github.com/repos/turingschool/checks-for-understanding/stargazers","contributors_url":"https://api.github.com/repos/turingschool/checks-for-understanding/contributors","subscribers_url":"https://api.github.com/repos/turingschool/checks-for-understanding/subscribers","subscription_url":"https://api.github.com/repos/turingschool/checks-for-understanding/subscription","commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/commits{/sha}","git_commits_url":"https://api.github.com/repos/turingschool/checks-for-understanding/git/commits{/sha}","comments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/comments{/number}","issue_comment_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/comments{/number}","contents_url":"https://api.github.com/repos/turingschool/checks-for-understanding/contents/{+path}","compare_url":"https://api.github.com/repos/turingschool/checks-for-understanding/compare/{base}...{head}","merges_url":"https://api.github.com/repos/turingschool/checks-for-understanding/merges","archive_url":"https://api.github.com/repos/turingschool/checks-for-understanding/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/turingschool/checks-for-understanding/downloads","issues_url":"https://api.github.com/repos/turingschool/checks-for-understanding/issues{/number}","pulls_url":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls{/number}","milestones_url":"https://api.github.com/repos/turingschool/checks-for-understanding/milestones{/number}","notifications_url":"https://api.github.com/repos/turingschool/checks-for-understanding/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/turingschool/checks-for-understanding/labels{/name}","releases_url":"https://api.github.com/repos/turingschool/checks-for-understanding/releases{/id}","deployments_url":"https://api.github.com/repos/turingschool/checks-for-understanding/deployments","created_at":"2016-08-25T17:10:28Z","updated_at":"2017-10-16T12:27:57Z","pushed_at":"2017-10-23T19:13:28Z","git_url":"git://github.com/turingschool/checks-for-understanding.git","ssh_url":"git@github.com:turingschool/checks-for-understanding.git","clone_url":"https://github.com/turingschool/checks-for-understanding.git","svn_url":"https://github.com/turingschool/checks-for-understanding","homepage":null,"size":48,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":158,"mirror_url":null,"archived":false,"open_issues_count":27,"forks":158,"open_issues":27,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607"},"html":{"href":"https://github.com/turingschool/checks-for-understanding/pull/607"},"issue":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/607"},"comments":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/issues/607/comments"},"review_comments":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607/comments"},"review_comment":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/pulls/607/commits"},"statuses":{"href":"https://api.github.com/repos/turingschool/checks-for-understanding/statuses/fe15741e4dbed6abaad682d17f22942616a38f54"}},"author_association":"NONE"}}
{"actor":{"display_login":"case-eee"}}