An open API service indexing awesome lists of open source software.

https://github.com/chidiwilliams/go-web-server-tips

Example project demonstrating tips for writing web servers in Go
https://github.com/chidiwilliams/go-web-server-tips

buntdb clean-architecture clean-code code-organization go mongo mongodb template

Last synced: 9 months ago
JSON representation

Example project demonstrating tips for writing web servers in Go

Awesome Lists containing this project

README

          

# go-web-server-tips

This project demonstrates some code practices I use when writing web servers in Go.

To start, run:

```shell script
go run main.go
```

Blog post: [dev.to/chidiwilliams/writing-cleaner-go-web-servers-3oe4](https://dev.to/chidiwilliams/writing-cleaner-go-web-servers-3oe4)

## Tips

- [x] Use clean architecture

- Good code organization/folder structure
- Decouple dependencies

- [x] Extend HTTP handler

- Handle errors in one location

- [x] Standardized response format

- [x] Create custom errors for client errors

- Clean error handling

- [ ] ozzo-validator with custom validator?

- Struct validation outside controller

- [ ] Integration testing with testify?