Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/jordanmarcelino/go-gin-starter

Golang Gin Starter & Boilerplate with Clean Architecture
https://github.com/jordanmarcelino/go-gin-starter

backend-api boilerplate boilerplate-template clean-architecture gin golang layered-architecture starter starter-template

Last synced: 6 days ago
JSON representation

Golang Gin Starter & Boilerplate with Clean Architecture

Awesome Lists containing this project

README

        

# Golang Gin Starter & Boilerplate 🚀

A robust and scalable starter template for building backend applications using Golang and the Gin framework, designed with clean architecture principles.

## 🛠️ Tech Stack

- ⚙️ **Golang**: [v1.23](https://github.com/golang/go) – Efficient, statically typed, compiled language.
- 🗄️ **PostgreSQL**: [PostgreSQL](https://github.com/postgres/postgres) – Reliable and powerful SQL database.

## 📚 Framework & Libraries

- 🌐 **Gin**: [Gin](https://gin-gonic.com/) – Fast and flexible HTTP web framework.
- 🐘 **Pgx**: [Pgx](https://github.com/jackc/pgx) – High-performance Postgres driver.
- ⚙️ **Viper**: [Viper](https://github.com/spf13/viper) – Powerful configuration management.
- 🗃️ **Golang Migrate**: [Golang Migrate](https://github.com/golang-migrate/migrate) – Database migrations made easy.
- 📝 **Zerolog**: [Zerolog](https://github.com/rs/zerolog) – Blazing fast, structured logging.
- 🔄 **Air**: [Air](https://github.com/air-verse/air) – Live reload for Go apps.

## 🚀 Getting Started

### 1️⃣ Clone the Repository

Clone the repository using the command below:

```bash
git clone https://github.com/JordanMarcelino/go-gin-starter
```

Or you can also use this repository as template

### 2️⃣ Move into the Directory

Navigate to the project directory:

```bash
cd go-gin-starter
```

### 3️⃣ Run the Local Server with Hot Reload

Use Air to start the development server with hot reload:

```bash
air
```

### 4️⃣ Build & Run the Docker Container

Deploy your application using Docker Compose:

```bash
docker compose up -d --build
```

Happy coding! 🧑‍💻🎉