{"repo":"syahidfrd/go-boilerplate","free":true,"listed":false,"github":"https://github.com/syahidfrd/go-boilerplate","clone":"git clone https://github.com/syahidfrd/go-boilerplate.git","description":"Go REST API boilerplate with module-based architecture, testcontainers integration, JWT auth, Redis caching, and comprehensive testing","language":"Go","stars":50,"topics":["boilerplate","rest-api","redis","golang","postgresql","testify","go","postgres","migration","jwt"],"license":"MIT","category":"databases-storage","readme_excerpt":"GO Boilerplate Changelog - v1 : checkout to the v1 branch Function-based layer architecture with separate layers (domain, usecase, delivery, repository) Features - 🏗️ Modular Architecture - Clean separation of concerns with store, service, and handler layers - 🔐 JWT Authentication - Secure user authentication with middleware - 🏥 Health Checks - Database and cache connectivity monitoring - 📝 Request Logging - Comprehensive HTTP request logging - ⚡ Caching - Redis integration for performance optimization - 🧪 Testing - Unit and integration test coverage - 🛡️ Middleware - CORS, recovery, real IP extraction, and request ID tracking - 📊 Structured Logging - Using zerolog for structured, contextual logging - 🔧 Configuration - Environment-based configuration management Technology Stack - Go 1.22+ - Programming language - GORM - ORM library for database operations - PostgreSQL - Primary database - Redis - Caching and session storage - JWT - Authentication tokens - Zerolog - Structured logging - Testify - Testing framework - Testcontainers - Integration testing with real containers - go-playground/validator - Request validation - go-redis - Redis client - godotenv - Environment variables loader Quick Start Prerequisites - Go 1.22+ - Docker (for databases and integration tests) - PostgreSQL (optional if using Docker) - Redis (optional if using Docker) Setup 1. Clone the repository 2. Install dependencies and format code 3. Setup databases 4. Configure environment 5. Run tests 6.","default_branch":null,"files":null,"tree":[],"storefront":"/r/syahidfrd","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/syahidfrd/go-boilerplate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}