Skip to content

goapisuit is a powerful and efficient framework built for Golang developers to speed up API development. Inspired by Laravel, goapisuit focuses on simplifying the process of creating and managing APIs while providing tools to handle database operations easily.

License

Notifications You must be signed in to change notification settings

krittakondev/goapisuit

Repository files navigation

Project Logo

goapisuit

goapisuit is a lightweight and easy-to-use Golang framework that simplifies API creation and database management using GoFiber. It aims to accelerate the development of APIs by providing built-in commands for generating models, routers, and handling database migrations.

Features

  • Fast API Creation: Automatically generate routes and models.
  • Database Management: Seamlessly handle migrations with built-in commands.
  • GoFiber Integration: Utilize the powerful and efficient GoFiber web framework.

Getting Started

Prerequisites

To use goapisuit, you need the following installed:

  • Golang
  • A relational database (e.g., MySQL etc.)
  • Git for cloning the repository

Installation

  1. Install CLI heykrit for the goapisuit:

    go install -v github.com/krittakondev/goapisuit/cmd/heykrit@latest
  2. Make your project:

    mkdir nameproject
    cd nameproject
    go mod init you/projectpath
    heykrit init
  3. Config your project in .env

  4. Run your project:

    go run cmd/server.go

Directory Structure

Here's a brief overview of the generated directory structure:

nameproject/
├── cmd/
│   └── server.go        # Entry point of your project
├── internal/
│   ├── models/          # Contains your data models (e.g., user.go)
│   └── routes/             # Contains API route handlers
├── public/              # Directory for static files (e.g., CSS, JavaScript, images)
├── go.mod
└── go.sum
└── .env                 # config project

Usage

Once the setup is complete, you can build upon this project by adding new models and routes using the provided commands. For example, to create a new module for handling products:

  1. Generate a new product Route and Model:

    heykrit make product

    Generate 2 files internal/routes/Product.go and internal/models/Product.go

  2. Modify the generated internal/models/Product.go model as needed, and then apply the migration (gorm model):

    heykrit db:migrate product
  3. Run server:

    go run cmd/server.go

Contributing

If you'd like to contribute to goapisuit, feel free to open a pull request or issue on the GitHub repository.

License

This project is licensed under the MIT License.

Credits

GoFiberA web framework that brings lightning-fast performance to your Golang applications. GORM A powerful ORM library for Golang, simplifying database handling and migrations.

About

goapisuit is a powerful and efficient framework built for Golang developers to speed up API development. Inspired by Laravel, goapisuit focuses on simplifying the process of creating and managing APIs while providing tools to handle database operations easily.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published