# codegangsta/gin

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codegangsta-gin).**

4,248 stars · 307 forks · Go · MIT

## Links

- GitHub: https://github.com/codegangsta/gin
- awesome-repositories: https://awesome-repositories.com/repository/codegangsta-gin.md

## Description

Gin is a hot reloading utility and live reloader for Go web applications. It functions as an HTTP proxy development tool that monitors source files for changes and automatically recompiles and restarts the web server to eliminate manual server restarts.

The tool manages the development workflow by tracking file-system events and coordinating the sequence of recompiling source code. It handles child-process management for the Go compiler and the application binary, routing incoming traffic to the active server instance and refreshing the process upon the next request following a successful build.

## Tags

### Development Tools & Productivity

- [Hot-Reloading Servers](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-servers.md) — Provides a development server that monitors source changes and refreshes the running application automatically.
- [Application Hot Reloading](https://awesome-repositories.com/f/development-tools-productivity/application-hot-reloading.md) — Allows developers to update running application logic instantly by monitoring files and recompiling without manual restarts. ([source](https://github.com/codegangsta/gin/blob/master/README.md))
- [Process Restarters](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-servers/process-restarters.md) — Automatically restarts the server process upon the first request following a successful build.
- [Hot Reloading Utilities](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-utilities.md) — Eliminates manual server restarts for Go applications by automatically updating the running binary on file modification.
- [Server Process Reloaders](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/development-automation/development-rebuild-triggers/source-file-watching/live-reload-development-servers/server-process-reloaders.md) — Monitors Go source files to automatically recompile and restart the web server process.
- [Change-Triggered Builds](https://awesome-repositories.com/f/development-tools-productivity/build-automation-scripts/change-triggered-builds.md) — Implements a system that runs compilation commands automatically in response to filesystem changes.
- [Local Development Environments](https://awesome-repositories.com/f/development-tools-productivity/local-development-environments.md) — Enables a local environment where Go code changes are reflected in real time for faster prototyping.

### Networking & Communication

- [HTTP Request Forwarders](https://awesome-repositories.com/f/networking-communication/http-proxies/proxy-request-routers/http-request-forwarders.md) — Intercepts incoming HTTP traffic and forwards it to the currently active application server instance.
- [HTTP Proxies](https://awesome-repositories.com/f/networking-communication/http-proxies.md) — Acts as an HTTP proxy that routes traffic to a backend server and manages process refreshes.

### Programming Languages & Runtimes

- [Go Development Workflows](https://awesome-repositories.com/f/programming-languages-runtimes/go-development-workflows.md) — Optimizes the Go development lifecycle with automatic recompilation and server restarts.

### System Administration & Monitoring

- [File System Monitors](https://awesome-repositories.com/f/system-administration-monitoring/file-system-monitors.md) — Utilizes operating system notifications to track source file changes and trigger the recompilation process.

### Web Development

- [Automatic Process Restarters](https://awesome-repositories.com/f/web-development/static-file-servers/automatic-process-restarters.md) — Monitors file changes and automatically restarts the server process to ensure the latest code is served. ([source](https://github.com/codegangsta/gin#readme))

### Operating Systems & Systems Programming

- [Child Process Management Helpers](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/process-lifecycle-orchestrators/child-process-management-helpers.md) — Provides utilities to spawn and manage the lifecycle of the Go compiler and application binary as subprocesses.

### Part of an Awesome List

- [Build and Compilation Tools](https://awesome-repositories.com/f/awesome-lists/devtools/build-and-compilation-tools.md) — Live-reload tool for development.
