Skip to content

Build composable architectures with pre-built and customizable components using a CLI designed to simplify PoCs, made with Go.

Notifications You must be signed in to change notification settings

charmingruby/bob

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bob

Bob is a Go tool designed to streamline the creation of modular and scalable applications using predefined templates.

Description

bob is a tool that provides a set of predefined templates to facilitate the creation of projects in various contexts. It aims to accelerate the initial setup of projects, whether for enterprise applications or proof of concepts (PoC), ensuring a solid foundation for further development.

Philosophy

The philosophy of bob is to be able to grow into different contexts in an opinionated manner, ensuring an evolutionary architecture and allowing the easy composition of new components in the architecture. And from just the beginning, we have the following design principles:

  • Keep it simple
  • Easy to extend
  • Try best to be friendly to the business logic development, encapsulate the complexity
  • Ability to create various templates for different use cases, such as REST, gRPC, and serverless
  • Modular design for easy integration and maintenance

Installation

Get Started

  1. Run the installation script:

    curl -sSL https://raw.githubusercontent.com/charmingruby/bob/main/install.sh | bash
  2. Create a configuration file and start exploring:

    bob
  3. Optionally, you can change the configs for your project;

  4. Run go mod tidy to ensure all dependencies are installed:

    go mod tidy
  5. Set the environment variables, based on .env.example

  6. Run docker compose:

    docker compose up -d
  7. Run application:

    go run ./cmd/api/main.go
  8. Call the api:

    curl -X POST http://localhost:3000/example/ping -H "Content-Type: application/json" -d '{"name": "bob"}'

Give a Star! ⭐

If you like this project or are using it to learn or using for your own solution or purpose, give it a star. Your support matters!

About

Build composable architectures with pre-built and customizable components using a CLI designed to simplify PoCs, made with Go.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published