A platform for managing 3D models for manufacturing and 3D-printing
TODO: Instructions to install dependencies
- docker & docker-compose
- Make
make start-local
The above command will use docker-compose to spin up a postgres database and run the app locally.
The app server will reload on any file changes.
go-migrate docs
migrate create -ext sql -dir migrations -seq create_examples_table
TODO: migrate CLI should be a dependency so that the up AND down migrations can be tested.
Based on go-clean-arch
Contains any objects structs and methods. Used in all layers.
Accepts inputs and responds. This layer will mainly be a REST API for this app .
Contains business logic.
Handles interactions with any external data sources. (databases, microsercives, file storage)
Starts an actual HTTP server and sends an HTTP request to it. Mocks the service layer to return mock data
Mocks the repository layer to return mock data
TBD: ... Maybe by simulating a database connection when running queries but it might make more sense to just have integration tests that touch a database to cover the repository layer
Generate mocks of all the interfaces in domain
cd domain
mockery --all
TODO: generate mocks of a new package
psql postgresql://postgres:postgres@localhost:5432/postgres