Adding basic project structure
parent
a1867a881d
commit
80e0429f09
@ -0,0 +1,6 @@
|
||||
run:
|
||||
go run ./cmd/bugbox/main.go
|
||||
.PHONEY: run
|
||||
|
||||
test:
|
||||
go test -v ./...
|
@ -1,4 +1,18 @@
|
||||
# Go WTF Dial
|
||||
# Bug Box
|
||||
|
||||
This was a series that strives to teach by building a real web application in go lang. Documented on https://www.gobeyond.dev/wtf-dial/ with source code available at https://github.com/benbjohnson/wtf?ref=gobeyond.dev
|
||||
A RestAPI for managing bug enclosures.
|
||||
|
||||
## Project Structure
|
||||
|
||||
*Application domain* types reside in the project root and includes a a *Service* interface that serves as a contract for an underlying implementation. A *Service* implementation of the application domain is contained in the appropriate sub package (http, sqlite, etc.). The application is tied together in the `cmd` sub package.
|
||||
|
||||
- Organization:
|
||||
- User:
|
||||
- Enclosure:
|
||||
|
||||
|
||||
|
||||
## Inspiration
|
||||
|
||||
The structure of this application follows the design patterns laid out in the [WTF-Dail](https://github.com/benbjohnson/wtf?ref=gobeyond.dev) which strives to be a reference implementation for a real golang web application.
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
)
|
||||
|
||||
func printMessage(w io.Writer, msg string) {
|
||||
fmt.Fprint(w, msg)
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
printMessage(os.Stdout, "Bugbox server\n")
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMain(t *testing.T) {
|
||||
msg := "Bug box server\n"
|
||||
buffer := bytes.Buffer{}
|
||||
printMessage(&buffer, msg)
|
||||
got := buffer.String()
|
||||
want := msg
|
||||
|
||||
if got != want {
|
||||
t.Errorf("Error, got %s, want %s", got, want)
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
package bugbox
|
@ -0,0 +1 @@
|
||||
package bugbox
|
Loading…
Reference in New Issue