https://github.com/charmingruby/bob
Build composable architectures with pre-built and customizable components using a CLI designed to simplify PoCs, made with Go.
https://github.com/charmingruby/bob
Last synced: about 2 months ago
JSON representation
Build composable architectures with pre-built and customizable components using a CLI designed to simplify PoCs, made with Go.
- Host: GitHub
- URL: https://github.com/charmingruby/bob
- Owner: charmingruby
- Created: 2024-11-20T22:13:03.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-20T19:08:14.000Z (about 1 year ago)
- Last Synced: 2026-01-14T21:07:29.973Z (3 months ago)
- Language: Go
- Homepage:
- Size: 444 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
```shell
curl -sSL https://raw.githubusercontent.com/charmingruby/bob/main/install.sh | bash
```
2. Create a configuration file and start exploring:
```shell
bob
```
3. Optionally, you can change the configs for your project;
4. Run go mod tidy to ensure all dependencies are installed:
```shell
go mod tidy
```
5. Set the environment variables, based on .env.example
6. Run docker compose:
```shell
docker compose up -d
```
7. Run application:
```shell
go run ./cmd/api/main.go
```
8. Call the api:
```shell
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!