Building Distributed Applications in Gin
This is the code repository for Building Distributed Applications in Gin, published by Packt.
A hands-on guide for Go developers to build and deploy distributed web apps with the Gin framework.
What is this book about?
Gin is a high-performance HTTP web framework used to build web applications and microservices in Go. This book is designed to teach you the ins and outs of the Gin framework with the help of practical examples.
You’ll start by exploring the basics of the Gin framework, before progressing to build a real-world RESTful API. Along the way, you’ll learn how to write custom middleware and understand the routing mechanism, as well as how to bind user data and validate incoming HTTP requests. The book also demonstrates how to store and retrieve data at scale with a NoSQL database such as MongoDB, and how to implement a caching layer with Redis. Next, you’ll understand how to secure and test your API endpoints with authentication protocols such as OAuth 2 and JWT. Later chapters will guide you through rendering HTML templates on the server-side and building a frontend application with the React web framework to consume API responses. Finally, you’ll deploy your application on Amazon Web Services (AWS) and learn how to automate the deployment process with a CI/CD pipeline.
By the end of this Gin book, you will be able to design, build, and deploy a production-ready distributed application from scratch using the Gin framework.
This book covers the following exciting features:
Build a production-ready REST API with the Gin framework
Scale web applications with event-driven architecture
Use NoSQL databases for data persistence
Set up authentication middleware with JWT and Auth0
Deploy a Gin-based RESTful API on AWS with Docker and Kubernetes
Implement a CI/CD workflow for Gin web apps
If you feel this book is for you, get your copy today!
Instructions and Navigations
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
module github.com/mlabouardy/hello-world
go 1.15
Following is what you need for this book:
This book is for Go developers who are comfortable with the Go language and seeking to learn REST API design and development with the Gin framework. Beginner-level knowledge of the Go programming language is required to make the most of this book.
With the following software and hardware list you can run all code files present in the book (Chapter 1-10).
Software and Hardware List
Chapter |
Software required |
OS required |
1 |
Visual Studio Code 1.56.2 |
Windows, Mac OS X, and Linux (Any) |
2 |
Go Swagger |
Windows, Mac OS X, and Linux (Any) |
3 |
Postman |
Windows, Mac OS X, and Linux (Any) |
4 |
cURL |
Windows, Mac OS X, and Linux (Any) |
5 |
Docker CE |
Windows, Mac OS X, and Linux (Any) |
6 |
Docker Compose |
Windows, Mac OS X, and Linux (Any) |
7 |
AWS CLI |
Windows, Mac OS X, and Linux (Any) |
8 |
Node.JS LTS |
Windows, Mac OS X, and Linux (Any) |
9 |
React 17.0.1 |
Windows, Mac OS X, and Linux (Any) |
10 |
Auth0, CircleCI, Synk, and AWS accounts |
Windows, Mac OS X, and Linux (Any) |
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click here to download it.
Get to Know the Author
Mohamed Labouardy is the CTO and co-founder of Crew, and a DevSecOps evangelist. He is the founder of Komiser, a regular conference speaker, and author of several books around Serverless and Distributed Applications. He is also a contributor to numerous open-source projects such as Jenkins, Docker, and Telegraf. You can find him on Twitter at @mlabouardy.
Download a free PDF
If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.
Simply click on the link to claim your free PDF.
https://packt.link/free-ebook/9781801074858