Goshaka Starter

screenshot of Goshaka Starter

REST API boilerplate using Go, Fiber Framework, JWT, GORM, Swagger, Rate Limiter

Overview

If you're looking for a robust and efficient way to kickstart your Golang projects, this production-ready Golang Boilerplate API is an excellent choice. It provides a streamlined setup process that can be tailored for both development and production environments. With built-in features to handle authentication, user management, and convenient command executions, it simplifies the complexities of building a powerful API.

Leveraging modern technologies like MySQL and Redis, this boilerplate offers everything you need to get started quickly. Whether you prefer a Dockerized setup or a straightforward installation, this boilerplate caters to your needs without compromising flexibility or ease of use.

Features

  • Versatile Environment Setup: Easily set up both development and production modes with clear instructions for Docker or non-Docker installations.
  • Integrated Authentication Options: Supports traditional username/password login and modern Google One Tap for seamless user authentication.
  • User Management: Features for user registration, profile management, and password reset, ensuring a complete user experience.
  • Role-Based Access Control: Implements a permission matrix inspired by Spatie Laravel, allowing for fine-grained access control for users.
  • CRUD Functionality: Provides example CRUD operations, demonstrating how to handle data effectively within the API.
  • Swagger Documentation: Automatically generates and serves API documentation, making it easier for developers to understand and interact with the endpoints.
  • Comprehensive Testing Commands: Simplified testing with make commands to run unit and API tests, ensuring that your code remains robust and functional.
  • Code Quality Tools: Includes tools for linting and style checking, helping maintain code quality throughout development.