{"action":"closed","number":21,"pull_request":{"url":"https://api.github.com/repos/devcolor/majorkey/pulls/21","id":63830694,"html_url":"https://github.com/devcolor/majorkey/pull/21","diff_url":"https://github.com/devcolor/majorkey/pull/21.diff","patch_url":"https://github.com/devcolor/majorkey/pull/21.patch","issue_url":"https://api.github.com/repos/devcolor/majorkey/issues/21","number":21,"state":"closed","locked":false,"title":"Port app to Mongoose/MongoDB","user":{"login":"makinde","id":157415,"avatar_url":"https://avatars.githubusercontent.com/u/157415?v=3","gravatar_id":"","url":"https://api.github.com/users/makinde","html_url":"https://github.com/makinde","followers_url":"https://api.github.com/users/makinde/followers","following_url":"https://api.github.com/users/makinde/following{/other_user}","gists_url":"https://api.github.com/users/makinde/gists{/gist_id}","starred_url":"https://api.github.com/users/makinde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/makinde/subscriptions","organizations_url":"https://api.github.com/users/makinde/orgs","repos_url":"https://api.github.com/users/makinde/repos","events_url":"https://api.github.com/users/makinde/events{/privacy}","received_events_url":"https://api.github.com/users/makinde/received_events","type":"User","site_admin":false},"body":"**I got this working in development. Wanted to get feedback on this directionally before putting more work into the schema, porting the prod **data, and potentially landing.**\r\n\r\nThe approach laid out in this diff should balance the concerns everyone voiced. There is a strict schema that is enforced, with quite extensive validity checks possible. MongoDB will also allow us to have lists and nested data structures, which should be very convenient. One example is supporting goals that can be makes as accomplished. This should be very straight-forward to implement as JSON on the member record.\r\n\r\nThis also introduces a shared development database. The .env.example file points to the shared DB. Making and using new schemas will automatically make new collections (tables) in Mongo.\r\n\r\nTest Plan:\r\nMade fake profiles, was able to view them, edit them, and save those changes. There's more error handling to add, but it matches what is currently handled.\r\n\r\nfixes #13 ","created_at":"2016-03-23T04:36:55Z","updated_at":"2016-03-24T05:08:31Z","closed_at":"2016-03-24T05:08:31Z","merged_at":"2016-03-24T05:08:31Z","merge_commit_sha":"587aaa642624ce60c8b3649dde9a4f4c350a9641","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/devcolor/majorkey/pulls/21/commits","review_comments_url":"https://api.github.com/repos/devcolor/majorkey/pulls/21/comments","review_comment_url":"https://api.github.com/repos/devcolor/majorkey/pulls/comments{/number}","comments_url":"https://api.github.com/repos/devcolor/majorkey/issues/21/comments","statuses_url":"https://api.github.com/repos/devcolor/majorkey/statuses/6cd948994830bc12356d4925ab7aa445a26051ae","head":{"label":"devcolor:mongoose_port","ref":"mongoose_port","sha":"6cd948994830bc12356d4925ab7aa445a26051ae","user":{"login":"devcolor","id":17156358,"avatar_url":"https://avatars.githubusercontent.com/u/17156358?v=3","gravatar_id":"","url":"https://api.github.com/users/devcolor","html_url":"https://github.com/devcolor","followers_url":"https://api.github.com/users/devcolor/followers","following_url":"https://api.github.com/users/devcolor/following{/other_user}","gists_url":"https://api.github.com/users/devcolor/gists{/gist_id}","starred_url":"https://api.github.com/users/devcolor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devcolor/subscriptions","organizations_url":"https://api.github.com/users/devcolor/orgs","repos_url":"https://api.github.com/users/devcolor/repos","events_url":"https://api.github.com/users/devcolor/events{/privacy}","received_events_url":"https://api.github.com/users/devcolor/received_events","type":"Organization","site_admin":false},"repo":{"id":51477877,"name":"majorkey","full_name":"devcolor/majorkey","owner":{"login":"devcolor","id":17156358,"avatar_url":"https://avatars.githubusercontent.com/u/17156358?v=3","gravatar_id":"","url":"https://api.github.com/users/devcolor","html_url":"https://github.com/devcolor","followers_url":"https://api.github.com/users/devcolor/followers","following_url":"https://api.github.com/users/devcolor/following{/other_user}","gists_url":"https://api.github.com/users/devcolor/gists{/gist_id}","starred_url":"https://api.github.com/users/devcolor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devcolor/subscriptions","organizations_url":"https://api.github.com/users/devcolor/orgs","repos_url":"https://api.github.com/users/devcolor/repos","events_url":"https://api.github.com/users/devcolor/events{/privacy}","received_events_url":"https://api.github.com/users/devcolor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/devcolor/majorkey","description":"The member's website of /dev/color","fork":false,"url":"https://api.github.com/repos/devcolor/majorkey","forks_url":"https://api.github.com/repos/devcolor/majorkey/forks","keys_url":"https://api.github.com/repos/devcolor/majorkey/keys{/key_id}","collaborators_url":"https://api.github.com/repos/devcolor/majorkey/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/devcolor/majorkey/teams","hooks_url":"https://api.github.com/repos/devcolor/majorkey/hooks","issue_events_url":"https://api.github.com/repos/devcolor/majorkey/issues/events{/number}","events_url":"https://api.github.com/repos/devcolor/majorkey/events","assignees_url":"https://api.github.com/repos/devcolor/majorkey/assignees{/user}","branches_url":"https://api.github.com/repos/devcolor/majorkey/branches{/branch}","tags_url":"https://api.github.com/repos/devcolor/majorkey/tags","blobs_url":"https://api.github.com/repos/devcolor/majorkey/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/devcolor/majorkey/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/devcolor/majorkey/git/refs{/sha}","trees_url":"https://api.github.com/repos/devcolor/majorkey/git/trees{/sha}","statuses_url":"https://api.github.com/repos/devcolor/majorkey/statuses/{sha}","languages_url":"https://api.github.com/repos/devcolor/majorkey/languages","stargazers_url":"https://api.github.com/repos/devcolor/majorkey/stargazers","contributors_url":"https://api.github.com/repos/devcolor/majorkey/contributors","subscribers_url":"https://api.github.com/repos/devcolor/majorkey/subscribers","subscription_url":"https://api.github.com/repos/devcolor/majorkey/subscription","commits_url":"https://api.github.com/repos/devcolor/majorkey/commits{/sha}","git_commits_url":"https://api.github.com/repos/devcolor/majorkey/git/commits{/sha}","comments_url":"https://api.github.com/repos/devcolor/majorkey/comments{/number}","issue_comment_url":"https://api.github.com/repos/devcolor/majorkey/issues/comments{/number}","contents_url":"https://api.github.com/repos/devcolor/majorkey/contents/{+path}","compare_url":"https://api.github.com/repos/devcolor/majorkey/compare/{base}...{head}","merges_url":"https://api.github.com/repos/devcolor/majorkey/merges","archive_url":"https://api.github.com/repos/devcolor/majorkey/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/devcolor/majorkey/downloads","issues_url":"https://api.github.com/repos/devcolor/majorkey/issues{/number}","pulls_url":"https://api.github.com/repos/devcolor/majorkey/pulls{/number}","milestones_url":"https://api.github.com/repos/devcolor/majorkey/milestones{/number}","notifications_url":"https://api.github.com/repos/devcolor/majorkey/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/devcolor/majorkey/labels{/name}","releases_url":"https://api.github.com/repos/devcolor/majorkey/releases{/id}","deployments_url":"https://api.github.com/repos/devcolor/majorkey/deployments","created_at":"2016-02-10T22:40:45Z","updated_at":"2016-02-26T17:56:14Z","pushed_at":"2016-03-24T05:08:31Z","git_url":"git://github.com/devcolor/majorkey.git","ssh_url":"git@github.com:devcolor/majorkey.git","clone_url":"https://github.com/devcolor/majorkey.git","svn_url":"https://github.com/devcolor/majorkey","homepage":null,"size":83,"stargazers_count":3,"watchers_count":3,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":11,"forks":2,"open_issues":11,"watchers":3,"default_branch":"master"}},"base":{"label":"devcolor:master","ref":"master","sha":"3cbe89abbde970e7f5fbcd7881906b70ef2e2ab2","user":{"login":"devcolor","id":17156358,"avatar_url":"https://avatars.githubusercontent.com/u/17156358?v=3","gravatar_id":"","url":"https://api.github.com/users/devcolor","html_url":"https://github.com/devcolor","followers_url":"https://api.github.com/users/devcolor/followers","following_url":"https://api.github.com/users/devcolor/following{/other_user}","gists_url":"https://api.github.com/users/devcolor/gists{/gist_id}","starred_url":"https://api.github.com/users/devcolor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devcolor/subscriptions","organizations_url":"https://api.github.com/users/devcolor/orgs","repos_url":"https://api.github.com/users/devcolor/repos","events_url":"https://api.github.com/users/devcolor/events{/privacy}","received_events_url":"https://api.github.com/users/devcolor/received_events","type":"Organization","site_admin":false},"repo":{"id":51477877,"name":"majorkey","full_name":"devcolor/majorkey","owner":{"login":"devcolor","id":17156358,"avatar_url":"https://avatars.githubusercontent.com/u/17156358?v=3","gravatar_id":"","url":"https://api.github.com/users/devcolor","html_url":"https://github.com/devcolor","followers_url":"https://api.github.com/users/devcolor/followers","following_url":"https://api.github.com/users/devcolor/following{/other_user}","gists_url":"https://api.github.com/users/devcolor/gists{/gist_id}","starred_url":"https://api.github.com/users/devcolor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devcolor/subscriptions","organizations_url":"https://api.github.com/users/devcolor/orgs","repos_url":"https://api.github.com/users/devcolor/repos","events_url":"https://api.github.com/users/devcolor/events{/privacy}","received_events_url":"https://api.github.com/users/devcolor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/devcolor/majorkey","description":"The member's website of /dev/color","fork":false,"url":"https://api.github.com/repos/devcolor/majorkey","forks_url":"https://api.github.com/repos/devcolor/majorkey/forks","keys_url":"https://api.github.com/repos/devcolor/majorkey/keys{/key_id}","collaborators_url":"https://api.github.com/repos/devcolor/majorkey/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/devcolor/majorkey/teams","hooks_url":"https://api.github.com/repos/devcolor/majorkey/hooks","issue_events_url":"https://api.github.com/repos/devcolor/majorkey/issues/events{/number}","events_url":"https://api.github.com/repos/devcolor/majorkey/events","assignees_url":"https://api.github.com/repos/devcolor/majorkey/assignees{/user}","branches_url":"https://api.github.com/repos/devcolor/majorkey/branches{/branch}","tags_url":"https://api.github.com/repos/devcolor/majorkey/tags","blobs_url":"https://api.github.com/repos/devcolor/majorkey/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/devcolor/majorkey/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/devcolor/majorkey/git/refs{/sha}","trees_url":"https://api.github.com/repos/devcolor/majorkey/git/trees{/sha}","statuses_url":"https://api.github.com/repos/devcolor/majorkey/statuses/{sha}","languages_url":"https://api.github.com/repos/devcolor/majorkey/languages","stargazers_url":"https://api.github.com/repos/devcolor/majorkey/stargazers","contributors_url":"https://api.github.com/repos/devcolor/majorkey/contributors","subscribers_url":"https://api.github.com/repos/devcolor/majorkey/subscribers","subscription_url":"https://api.github.com/repos/devcolor/majorkey/subscription","commits_url":"https://api.github.com/repos/devcolor/majorkey/commits{/sha}","git_commits_url":"https://api.github.com/repos/devcolor/majorkey/git/commits{/sha}","comments_url":"https://api.github.com/repos/devcolor/majorkey/comments{/number}","issue_comment_url":"https://api.github.com/repos/devcolor/majorkey/issues/comments{/number}","contents_url":"https://api.github.com/repos/devcolor/majorkey/contents/{+path}","compare_url":"https://api.github.com/repos/devcolor/majorkey/compare/{base}...{head}","merges_url":"https://api.github.com/repos/devcolor/majorkey/merges","archive_url":"https://api.github.com/repos/devcolor/majorkey/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/devcolor/majorkey/downloads","issues_url":"https://api.github.com/repos/devcolor/majorkey/issues{/number}","pulls_url":"https://api.github.com/repos/devcolor/majorkey/pulls{/number}","milestones_url":"https://api.github.com/repos/devcolor/majorkey/milestones{/number}","notifications_url":"https://api.github.com/repos/devcolor/majorkey/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/devcolor/majorkey/labels{/name}","releases_url":"https://api.github.com/repos/devcolor/majorkey/releases{/id}","deployments_url":"https://api.github.com/repos/devcolor/majorkey/deployments","created_at":"2016-02-10T22:40:45Z","updated_at":"2016-02-26T17:56:14Z","pushed_at":"2016-03-24T05:08:31Z","git_url":"git://github.com/devcolor/majorkey.git","ssh_url":"git@github.com:devcolor/majorkey.git","clone_url":"https://github.com/devcolor/majorkey.git","svn_url":"https://github.com/devcolor/majorkey","homepage":null,"size":83,"stargazers_count":3,"watchers_count":3,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":11,"forks":2,"open_issues":11,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/devcolor/majorkey/pulls/21"},"html":{"href":"https://github.com/devcolor/majorkey/pull/21"},"issue":{"href":"https://api.github.com/repos/devcolor/majorkey/issues/21"},"comments":{"href":"https://api.github.com/repos/devcolor/majorkey/issues/21/comments"},"review_comments":{"href":"https://api.github.com/repos/devcolor/majorkey/pulls/21/comments"},"review_comment":{"href":"https://api.github.com/repos/devcolor/majorkey/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/devcolor/majorkey/pulls/21/commits"},"statuses":{"href":"https://api.github.com/repos/devcolor/majorkey/statuses/6cd948994830bc12356d4925ab7aa445a26051ae"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"makinde","id":157415,"avatar_url":"https://avatars.githubusercontent.com/u/157415?v=3","gravatar_id":"","url":"https://api.github.com/users/makinde","html_url":"https://github.com/makinde","followers_url":"https://api.github.com/users/makinde/followers","following_url":"https://api.github.com/users/makinde/following{/other_user}","gists_url":"https://api.github.com/users/makinde/gists{/gist_id}","starred_url":"https://api.github.com/users/makinde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/makinde/subscriptions","organizations_url":"https://api.github.com/users/makinde/orgs","repos_url":"https://api.github.com/users/makinde/repos","events_url":"https://api.github.com/users/makinde/events{/privacy}","received_events_url":"https://api.github.com/users/makinde/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"commits":1,"additions":144,"deletions":171,"changed_files":10}}