In this project, we aim to build a set of REST APIs, where we can track our todo lists. As a user, we would have access to create, update and delete tasks to list, as well as we should be able to see all the tasks in list. A task will have due date, respective status and created date with it.
This REST API can further be integrated with a UI (coming up) for better visualizations.
- Go v1.15.2
- Fiber v2.3.0 (for Http requests)
- Viper v1.7.1 (for config management)
- Zap v1.16.0 (for logging)
- mysql v1.5.0 (for sql driver)
- squirrel v1.5.0 (for sql query building)
- go-sqlmock v1.5.0 (for sql tests)
- config
- appConfig.go
- domain
- task.go
- constants.go
- scenario.go
- services
- taskService.go
- taskRepositoryInterface.go
- taskService_test.go
- taskServiceBenchmark_test.go
- repository
- taskRepository.go
- taskRepository_test.go
- taskRepositoryBenchmark_test.go
- testUtils
- constants.go
- mocks.go
- scenarios.go
- main.go
- config.yaml
- Run all tests: go test -v ./...
- Run benchmark tests: go test -bench .
- Run benchmark with memory profiling: go test -bench . -benchmem
- Run specific tests: go test -run TestCaseName