https://stackoverflow.com/questions/15729491/makefile-command-not-working-but-command-did
- In Go, callers instead of callees specify interfaces
- Clear separation of Data, Business layers
- Data has it's view of a
User
, Business has it's view of aUser
- Data has it's view of a
- Super explicit, from a non-Go style perspective there's a lot of duplicate code
- Somewhat like domain driven design but applied vertically, this design forces each layer to be explicit about what it assumes.
- Decided to go with
golang
for integrations
- Static typing is not very useful for asserting service level json responses
- Sort of in the same location as source - bad practices can contaminate test code with assumptions from source code
- verbose
- Strongly typing is useful in the future for testing gRPC/GraphQL endpoints
- Although strongly and statically typed, liberal use of maps is allowed
- Easy to write, maybe some strong typing can help
- No need to manage another framework/language in CI, can use same tools for linting etc..
- http is already a package
- also supports concurrency which would be a problem in
python
- todo link
- https://stackoverflow.com/questions/44864790/why-cant-i-use-a-pointer-to-a-specific-type-where-interface-is-expected
- https://stackoverflow.com/questions/30652577/go-doing-a-get-request-and-building-the-querystring
add writing and docs sneak
- minor change for github action branch matcher to include all branches except
main
- checkout step for main branch
- add this changelog file
- add start server log
- add makefile build, test, run and containerize steps
- add github action
- publish image to dockerhub
see ppp.md
- create aljorhythm/sapere-server docker repository
- service test framework
- database
- deployment
- release github action steps
- https://blog.golang.org/docker
- https://docs.docker.com/docker-hub/builds/
- https://stackoverflow.com/questions/2826029/passing-additional-variables-from-command-line-to-make
- https://www.shellscript.sh/exitcodes.html
- https://github.com/mvdan/github-actions-golang
- https://docs.docker.com/docker-hub/repos/