Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 2.03 KB

BUILD.md

File metadata and controls

62 lines (41 loc) · 2.03 KB

For possible contributors looking to build & run submitGit locally...

Requirements

System Requirements

submitGit is written in Scala, a modern functional language that runs on the JVM - so it can run anywhere Java can.

  • Install JDK 8 or above
  • Install sbt, the Scala build tool

Service Credentials

Amazon Simple Email Service (SES)

Amazon SES is used to send email for preview, and to the mailing list. Part of the reason for choosing it is that it's an SMTP service in good standing (not associated with spam) which allows you to send emails with arbitrary 'From:' addresses - so long as those emails are validated with Amazon SES

You'll need an Amazon AWS account. Create an IAM User, and attach a policy to it allowing it to perform these actions:

  • ses:SendRawEmail
  • ses:VerifyEmailIdentity
  • ses:GetIdentityVerificationAttributes

The AWS credentials associated with this user should be stored as an AWS CLI profile named submitgit.

GitHub

Register a new OAuth application with GitHub on https://github.com/settings/applications/new :

Also generate a GitHub 'personal access token' with the public_repo scope at https://github.com/settings/tokens/new

Tell submitGit about these credentials by setting the following environment variables:

  • GITHUB_APP_CLIENT_ID
  • GITHUB_APP_CLIENT_SECRET
  • SUBMITGIT_GITHUB_ACCESS_TOKEN

Finally, build and run...

  • git clone https://github.com/rtyley/submitgit.git
  • cd submitgit
  • sbt<- start the sbt console
  • run <- run the server
  • Visit http://localhost:9000/

If you're going to make changes to the Scala code, you may want to use IntelliJ and it's Scala plugin to help with the Scala syntax...!

I personally found Coursera's online Scale course very helpful in learning Scala, YMMV.