6365f923591a71f375f93687e189bcad897d843c
- Add pkg/greet/api_v1.go with ApiV1Greet interface and handler - Implement Greeter interface for dependency injection - Return JSON responses with proper Content-Type headers - Move greet service instantiation to server package - Separate v1 route registration into registerApiV1Routes function - Health endpoint at /api level, greet endpoints at /api/v1/greet - Simplify server entrypoint by removing external dependencies
DanceLessonsCoach
A simple Go project demonstrating idiomatic package structure and CLI implementation.
Features
- Greet function with default behavior
- Command-line interface
- Unit tests
- Go 1.26.1 compatible
Installation
# Clone the repository
git clone https://github.com/yourusername/DanceLessonsCoach.git
cd DanceLessonsCoach
# Build and run
go run ./cmd/greet
Usage
# Default greeting
go run ./cmd/greet
# Output: Hello world!
# Custom greeting
go run ./cmd/greet John
# Output: Hello John!
Testing
# Run all tests
go test ./...
# Run specific package tests
go test ./pkg/greet/
Project Structure
DanceLessonsCoach/
├── cmd/
│ └── greet/
│ └── main.go # CLI entry point
├── pkg/
│ └── greet/
│ ├── greet.go # Core library
│ └── greet_test.go # Unit tests
├── go.mod # Go module definition
└── README.md # Project documentation
License
MIT
Description
Languages
Go
71.2%
Shell
21.7%
Gherkin
3.9%
TypeScript
1.4%
Vue
0.5%
Other
1.2%