{"action":"created","comment":{"url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/comments/58370546","id":58370546,"diff_hunk":"@@ -0,0 +1,91 @@\n+# Get started\n+\n+## Structure\n+\n+Our codebase is split into multiple repos: `website`, `api`, `app`. We run those 3 node.js applications separately. `website` and `app` are the client applications that you can find on `https://opencollective.com/yeoman` (`website`) and `https://app.opencollective.com/` (`app`).\n+\n+To run one of the client application locally, you need to run the `api` alongside.\n+\n+## Setup api\n+\n+### Install postgres (MacOSX)\n+\n+```bash\n+brew install postgres\n+pg_ctl -l /usr/local/var/postgres/server.log start\n+```\n+\n+Or download [Postgres.app](http://postgresapp.com)\n+\n+### Install API\n+\n+We currently use node `5.1.0` and npm `3.3.12`. Checkout [nvm](https://github.com/creationix/nvm) for versioning node.js binaries.\n+\n+```bash\n+git clone https://github.com/OpenCollective/api.git\n+cd api\n+touch .env\n+npm install\n+npm install -g nodemon\n+```\n+\n+You should be now able to run the api with `npm run dev` in autoreload mode or `npm start`.\n+\n+### Run the api\n+\n+```bash\n+npm run db:reset\n+npm run dev\n+```\n+\n+If you have a problem with this step, you might need to grant privileges to your database (see below).\n+\n+Check if the api is running properly by opening `http://localhost:3060/status` in your browser.\n+\n+Some environment variables might be missing from your setup, you need to add them in your `.env`. If you want to test image uploading, you will need to add your own AWS config.\n+\n+#### Postgres privileges\n+\n+Now, assuming the postgres database superuser is `postgres`, let's create the databases.\n+\n+```bash\n+createdb -U postgres opencollective_localhost\n+createuser -U postgres opencollective\n+psql -U postgres\n+> GRANT ALL PRIVILEGES ON DATABASE opencollective_localhost TO opencollective;\n+```\n+\n+## Run the website\n+\n+You will need to install gulp to compile the assets: https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md\n+\n+```bash\n+git clone https://github.com/OpenCollective/website.git\n+cd website\n+npm install\n+npm run dev\n+```\n+\n+The website is now running. If you run the api alongside, you should be able to go on `http://localhost:3000/opencollective` to see the donation page.\n+\n+The default flow is with paypal, if you want to setup the flow with stripe, you will need to connect your account in the `app` (instructions below)\n+\n+## Run the app\n+\n+\n+```bash\n+git clone https://github.com/OpenCollective/app.git\n+cd app\n+npm install\n+npm run dev\n+```\n+\n+Open `http://localhost:3000/login` in your browser and enter the following credentials `devuser@opencollective.com` and `password`.","path":"GET_STARTED.md","position":83,"original_position":83,"commit_id":"8c42515fac3fdba904c496ad33bd52c8e6dcb9fc","original_commit_id":"8c42515fac3fdba904c496ad33bd52c8e6dcb9fc","user":{"login":"sedubois","id":4217871,"avatar_url":"https://avatars.githubusercontent.com/u/4217871?v=3","gravatar_id":"","url":"https://api.github.com/users/sedubois","html_url":"https://github.com/sedubois","followers_url":"https://api.github.com/users/sedubois/followers","following_url":"https://api.github.com/users/sedubois/following{/other_user}","gists_url":"https://api.github.com/users/sedubois/gists{/gist_id}","starred_url":"https://api.github.com/users/sedubois/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sedubois/subscriptions","organizations_url":"https://api.github.com/users/sedubois/orgs","repos_url":"https://api.github.com/users/sedubois/repos","events_url":"https://api.github.com/users/sedubois/events{/privacy}","received_events_url":"https://api.github.com/users/sedubois/received_events","type":"User","site_admin":false},"body":"According to this, should be `user@opencollective.com` or `stripeuser@opencollective.com`:\r\nhttps://github.com/OpenCollective/api/blob/master/scripts/reset.js#L29","created_at":"2016-04-04T12:54:06Z","updated_at":"2016-04-04T12:54:06Z","html_url":"https://github.com/OpenCollective/OpenCollective/pull/2#discussion_r58370546","pull_request_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2","_links":{"self":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/comments/58370546"},"html":{"href":"https://github.com/OpenCollective/OpenCollective/pull/2#discussion_r58370546"},"pull_request":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2","id":64457268,"html_url":"https://github.com/OpenCollective/OpenCollective/pull/2","diff_url":"https://github.com/OpenCollective/OpenCollective/pull/2.diff","patch_url":"https://github.com/OpenCollective/OpenCollective/pull/2.patch","issue_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/2","number":2,"state":"closed","locked":false,"title":"added get started","user":{"login":"arnaudbenard","id":1458008,"avatar_url":"https://avatars.githubusercontent.com/u/1458008?v=3","gravatar_id":"","url":"https://api.github.com/users/arnaudbenard","html_url":"https://github.com/arnaudbenard","followers_url":"https://api.github.com/users/arnaudbenard/followers","following_url":"https://api.github.com/users/arnaudbenard/following{/other_user}","gists_url":"https://api.github.com/users/arnaudbenard/gists{/gist_id}","starred_url":"https://api.github.com/users/arnaudbenard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arnaudbenard/subscriptions","organizations_url":"https://api.github.com/users/arnaudbenard/orgs","repos_url":"https://api.github.com/users/arnaudbenard/repos","events_url":"https://api.github.com/users/arnaudbenard/events{/privacy}","received_events_url":"https://api.github.com/users/arnaudbenard/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-03-29T12:29:27Z","updated_at":"2016-04-04T12:54:07Z","closed_at":"2016-04-01T19:48:45Z","merged_at":"2016-04-01T19:48:45Z","merge_commit_sha":"c5a59468529a8c260080d828973d18b76fd8f2fe","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2/commits","review_comments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2/comments","review_comment_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/2/comments","statuses_url":"https://api.github.com/repos/OpenCollective/OpenCollective/statuses/8c42515fac3fdba904c496ad33bd52c8e6dcb9fc","head":{"label":"OpenCollective:tutorial","ref":"tutorial","sha":"8c42515fac3fdba904c496ad33bd52c8e6dcb9fc","user":{"login":"OpenCollective","id":13403593,"avatar_url":"https://avatars.githubusercontent.com/u/13403593?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenCollective","html_url":"https://github.com/OpenCollective","followers_url":"https://api.github.com/users/OpenCollective/followers","following_url":"https://api.github.com/users/OpenCollective/following{/other_user}","gists_url":"https://api.github.com/users/OpenCollective/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenCollective/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenCollective/subscriptions","organizations_url":"https://api.github.com/users/OpenCollective/orgs","repos_url":"https://api.github.com/users/OpenCollective/repos","events_url":"https://api.github.com/users/OpenCollective/events{/privacy}","received_events_url":"https://api.github.com/users/OpenCollective/received_events","type":"Organization","site_admin":false},"repo":{"id":50683765,"name":"OpenCollective","full_name":"OpenCollective/OpenCollective","owner":{"login":"OpenCollective","id":13403593,"avatar_url":"https://avatars.githubusercontent.com/u/13403593?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenCollective","html_url":"https://github.com/OpenCollective","followers_url":"https://api.github.com/users/OpenCollective/followers","following_url":"https://api.github.com/users/OpenCollective/following{/other_user}","gists_url":"https://api.github.com/users/OpenCollective/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenCollective/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenCollective/subscriptions","organizations_url":"https://api.github.com/users/OpenCollective/orgs","repos_url":"https://api.github.com/users/OpenCollective/repos","events_url":"https://api.github.com/users/OpenCollective/events{/privacy}","received_events_url":"https://api.github.com/users/OpenCollective/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenCollective/OpenCollective","description":"Development rules and onboarding","fork":false,"url":"https://api.github.com/repos/OpenCollective/OpenCollective","forks_url":"https://api.github.com/repos/OpenCollective/OpenCollective/forks","keys_url":"https://api.github.com/repos/OpenCollective/OpenCollective/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenCollective/OpenCollective/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenCollective/OpenCollective/teams","hooks_url":"https://api.github.com/repos/OpenCollective/OpenCollective/hooks","issue_events_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/events{/number}","events_url":"https://api.github.com/repos/OpenCollective/OpenCollective/events","assignees_url":"https://api.github.com/repos/OpenCollective/OpenCollective/assignees{/user}","branches_url":"https://api.github.com/repos/OpenCollective/OpenCollective/branches{/branch}","tags_url":"https://api.github.com/repos/OpenCollective/OpenCollective/tags","blobs_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenCollective/OpenCollective/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenCollective/OpenCollective/languages","stargazers_url":"https://api.github.com/repos/OpenCollective/OpenCollective/stargazers","contributors_url":"https://api.github.com/repos/OpenCollective/OpenCollective/contributors","subscribers_url":"https://api.github.com/repos/OpenCollective/OpenCollective/subscribers","subscription_url":"https://api.github.com/repos/OpenCollective/OpenCollective/subscription","commits_url":"https://api.github.com/repos/OpenCollective/OpenCollective/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenCollective/OpenCollective/contents/{+path}","compare_url":"https://api.github.com/repos/OpenCollective/OpenCollective/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenCollective/OpenCollective/merges","archive_url":"https://api.github.com/repos/OpenCollective/OpenCollective/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenCollective/OpenCollective/downloads","issues_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues{/number}","pulls_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenCollective/OpenCollective/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenCollective/OpenCollective/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenCollective/OpenCollective/labels{/name}","releases_url":"https://api.github.com/repos/OpenCollective/OpenCollective/releases{/id}","deployments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/deployments","created_at":"2016-01-29T18:52:57Z","updated_at":"2016-04-03T02:04:24Z","pushed_at":"2016-04-01T20:49:01Z","git_url":"git://github.com/OpenCollective/OpenCollective.git","ssh_url":"git@github.com:OpenCollective/OpenCollective.git","clone_url":"https://github.com/OpenCollective/OpenCollective.git","svn_url":"https://github.com/OpenCollective/OpenCollective","homepage":null,"size":18,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":2,"default_branch":"master"}},"base":{"label":"OpenCollective:master","ref":"master","sha":"73ac42ad9c35b83c904f27be2c4d5ffb91a115ac","user":{"login":"OpenCollective","id":13403593,"avatar_url":"https://avatars.githubusercontent.com/u/13403593?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenCollective","html_url":"https://github.com/OpenCollective","followers_url":"https://api.github.com/users/OpenCollective/followers","following_url":"https://api.github.com/users/OpenCollective/following{/other_user}","gists_url":"https://api.github.com/users/OpenCollective/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenCollective/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenCollective/subscriptions","organizations_url":"https://api.github.com/users/OpenCollective/orgs","repos_url":"https://api.github.com/users/OpenCollective/repos","events_url":"https://api.github.com/users/OpenCollective/events{/privacy}","received_events_url":"https://api.github.com/users/OpenCollective/received_events","type":"Organization","site_admin":false},"repo":{"id":50683765,"name":"OpenCollective","full_name":"OpenCollective/OpenCollective","owner":{"login":"OpenCollective","id":13403593,"avatar_url":"https://avatars.githubusercontent.com/u/13403593?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenCollective","html_url":"https://github.com/OpenCollective","followers_url":"https://api.github.com/users/OpenCollective/followers","following_url":"https://api.github.com/users/OpenCollective/following{/other_user}","gists_url":"https://api.github.com/users/OpenCollective/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenCollective/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenCollective/subscriptions","organizations_url":"https://api.github.com/users/OpenCollective/orgs","repos_url":"https://api.github.com/users/OpenCollective/repos","events_url":"https://api.github.com/users/OpenCollective/events{/privacy}","received_events_url":"https://api.github.com/users/OpenCollective/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenCollective/OpenCollective","description":"Development rules and onboarding","fork":false,"url":"https://api.github.com/repos/OpenCollective/OpenCollective","forks_url":"https://api.github.com/repos/OpenCollective/OpenCollective/forks","keys_url":"https://api.github.com/repos/OpenCollective/OpenCollective/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenCollective/OpenCollective/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenCollective/OpenCollective/teams","hooks_url":"https://api.github.com/repos/OpenCollective/OpenCollective/hooks","issue_events_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/events{/number}","events_url":"https://api.github.com/repos/OpenCollective/OpenCollective/events","assignees_url":"https://api.github.com/repos/OpenCollective/OpenCollective/assignees{/user}","branches_url":"https://api.github.com/repos/OpenCollective/OpenCollective/branches{/branch}","tags_url":"https://api.github.com/repos/OpenCollective/OpenCollective/tags","blobs_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenCollective/OpenCollective/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenCollective/OpenCollective/languages","stargazers_url":"https://api.github.com/repos/OpenCollective/OpenCollective/stargazers","contributors_url":"https://api.github.com/repos/OpenCollective/OpenCollective/contributors","subscribers_url":"https://api.github.com/repos/OpenCollective/OpenCollective/subscribers","subscription_url":"https://api.github.com/repos/OpenCollective/OpenCollective/subscription","commits_url":"https://api.github.com/repos/OpenCollective/OpenCollective/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenCollective/OpenCollective/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenCollective/OpenCollective/contents/{+path}","compare_url":"https://api.github.com/repos/OpenCollective/OpenCollective/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenCollective/OpenCollective/merges","archive_url":"https://api.github.com/repos/OpenCollective/OpenCollective/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenCollective/OpenCollective/downloads","issues_url":"https://api.github.com/repos/OpenCollective/OpenCollective/issues{/number}","pulls_url":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenCollective/OpenCollective/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenCollective/OpenCollective/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenCollective/OpenCollective/labels{/name}","releases_url":"https://api.github.com/repos/OpenCollective/OpenCollective/releases{/id}","deployments_url":"https://api.github.com/repos/OpenCollective/OpenCollective/deployments","created_at":"2016-01-29T18:52:57Z","updated_at":"2016-04-03T02:04:24Z","pushed_at":"2016-04-01T20:49:01Z","git_url":"git://github.com/OpenCollective/OpenCollective.git","ssh_url":"git@github.com:OpenCollective/OpenCollective.git","clone_url":"https://github.com/OpenCollective/OpenCollective.git","svn_url":"https://github.com/OpenCollective/OpenCollective","homepage":null,"size":18,"stargazers_count":2,"watchers_count":2,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2"},"html":{"href":"https://github.com/OpenCollective/OpenCollective/pull/2"},"issue":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/2"},"comments":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/OpenCollective/OpenCollective/statuses/8c42515fac3fdba904c496ad33bd52c8e6dcb9fc"}}}}