diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-08 16:28:27 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-08 16:28:27 -0800 |
commit | 16f2e78298dbd2231f5f337ea17c89a6a131a052 (patch) | |
tree | 6e72581e625e73c97cbab72d0f9c35665c99e5d7 /notes/golang.txt | |
parent | eb40a5f274f3608db34309cfd16739a7642ef5e7 (diff) | |
parent | ffb721f90c5d97ee80885209bf45feb85ca9625c (diff) | |
download | fatcat-16f2e78298dbd2231f5f337ea17c89a6a131a052.tar.gz fatcat-16f2e78298dbd2231f5f337ea17c89a6a131a052.zip |
Merge branch 'bnewbold-crude-auth'
Fixed a conflict in:
python/fatcat_export.py
Diffstat (limited to 'notes/golang.txt')
-rw-r--r-- | notes/golang.txt | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/notes/golang.txt b/notes/golang.txt deleted file mode 100644 index 404741e8..00000000 --- a/notes/golang.txt +++ /dev/null @@ -1,45 +0,0 @@ - -## Database Schema / ORM / Generation - -start simple, with pg (or sqlx if we wanted to be DB-agnostic): -- pq: basic postgres driver and ORM (similar to sqlalchemy?) -- sqlx: small extensions to builtin sql; row to struct mapping - -debug postgres with gocmdpev - -later, if code is too duplicated, look in to sqlboiler (first) or xo (second): -- https://github.com/xo/xo -- https://github.com/volatiletech/sqlboiler - -later, to do migrations, use goose, or consider alembic (python) for -auto-generation -- https://github.com/steinbacher/goose -- possibly auto-generate with python alembic - -for identifiers, consider either built-in postgres UUID, or: -- https://github.com/rs/xid -- https://github.com/oklog/ulid - like a UUID, but base32 and "sortable" (timestamp + random) - -## API In General - -Hope to use Kong for authentication. - -start with oauth2... orcid? - -## OpenAPI/Swagger - -go-swagger (OpenAPI 2.0): -- generate initial API server skeleton from a yaml definition -- export updated yaml from code after changes -- web UI for documentation -- templating/references -- auto-generate client (in golang) - -also look at ReDoc as a UI; all in-brower generated from JSON (react) - -## Non-API stuff - -- logrus structured logging (or zap?) -- testify tests (and assert?) -- viper config |