During my journey learning GO I found the following questions several times: “How do I struct GO applications?”, "There is any good project as example?”.
Well, I also made this question! Every example that I found they just simply put everything in the same package… So I decided to create IMGART project as an example of a real application.
IMGART consists is a HTTP Service for image processing based on filters and profiles: https://github.com/talento90/imgart
List of features that you can find in this project:
- HTTP API Middlewares (logging, serialization, error handling)
- Documentation using Swagger Specification
- Dockerfiles (Development and production)
- Multiple databases (Redis for image caching and MongoDB for profiles)
- Graceful Shutdown
- Debugging with Delve, VSCode and Docker
- Error Handling
- Make file
I am thinking about creating a blog post serie explaining my decisions… What do you think?
I would appreciate your feedback (negative/positive)