diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:24 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:35 -0700 |
commit | fc3d70a256dbd45fdd54a21efa6abc49b554e8e2 (patch) | |
tree | 5b1e8bdd9dc42494e36efd193964f1588c2190f7 /golang/README.md | |
parent | f36836a6399022338ec02849da42f6f518c7a54f (diff) | |
download | fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.tar.gz fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.zip |
rename golang directory
Diffstat (limited to 'golang/README.md')
-rw-r--r-- | golang/README.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/golang/README.md b/golang/README.md new file mode 100644 index 00000000..49410352 --- /dev/null +++ b/golang/README.md @@ -0,0 +1,44 @@ + +This folder contains source for the fatcat API daemon ("fatcatd"), written in +golang. + + +## Structure + +fatcatd is essentially just glue between two declarative schemas: + +- a postgres-flavor SQL database schema +- an OpenAPI/Swagger REST API definition + +## Dev Setup + +- postgres 9.6+ running locally +- golang environment configured + - https://github.com/golang/dep + +On debian/ubuntu: + + sudo -u postgres createuser -s `whoami` + createdb -O `whoami` fatcat + psql fatcat -f fatcat-schema.sql + +## Simplifications + +In early development, we'll make at least the following simplifications: + +- authentication (authn and authz) are not enforced and don't have user + interfaces. actual authentication will be eased in via a microservice and/or + oauth to gitlab/github/orcid.org +- "extra" metadata is stored in-entity as JSONB. In the future this might be + broken out to a separate table +- libraries won't be vendored; in the future they will be via a git submodule + + +## OpenAPI Code Generation + +Install the go-swagger tool: + + go get -u github.com/go-swagger/go-swagger/cmd/swagger + + + swagger generate server -A Fatcat -f fatcat-openapi2.yml |