The project status is
WIP
(Work in progress) which means the author continously evaluate and improve the project.
Payment Service implementation using stripe as payment-gateway. The project using typical-go as its build-tool.
- Application
- Go-Standards Project Layout
- Environment Variable Configuration
- Health-Check and Debug API
- Graceful Shutdown
- Layered architecture
- Dependency Injection
- Database Transaction
- HTTP Server
- Echo framework
- Server Side Caching
- Cache but revalidate (Header
Cache-Control: no-cache
) - Set Expiration Time (Header
Cache-Control: max-age=120
) - Return 304 if not modified (Header
If-Modified-Since: Sat, 31 Oct 2020 10:28:02 GMT
)
- Cache but revalidate (Header
- Request ID in logger (Header
X-Request-Id: xxx
)
- RESTful
- Create Resource (
POST
verb) - Update Resource (
PUT
verb) - Partially Update Resource (
PATCH
verb) - Find Resource (
GET
verb)- Offset Pagination (Query param
?limit=100&offset=0
) - Sorting (Query param
?sort=-title,created_at
) - Total count (Header
X-Total-Count: 99
)
- Offset Pagination (Query param
- Delete resource (
DELETE
verb, idempotent)
- Create Resource (
- Testing
- Table Driven Test