Skip to content

go-sphere/sphere-simple-layout

Repository files navigation

Sphere Simple Layout

About

sphere is a backend scaffolding designed for rapid development. It leverages ent for database schema definition and gRPC/Protobuf for API interface contracts. The framework includes a suite of tools for generating code and documentation, such as Protobuf files, Swagger/OpenAPI specifications, and TypeScript client libraries.

Development Commands

Sphere build tool. Usage: make [target]

  build                Build binary for current architecture
  build/all            Build for all supported platforms
  clean                Clean gen code and build files
  gen/wire             Generate wire code
  gen/proto            Generate proto files and run protoc plugins
  gen/all              Generate all code
  build/docker         Build docker image
  build/multi-docker   Build multi-arch docker image
  run                  Run the application
  deploy               Deploy binary
  lint                 Run linter
  fmt                  Run formatter and fix issues
  install              Install dependencies tools
  init                 Init all dependencies
  help                 Show this help message

Project Structure

├── api                 # Go files generated by Protobuf definitions
├── assets              # Static files (e.g., UI assets, templates)
├── cmd                 # Application entry points
│   ├── app             # Main application
│   └── tools           # Developer tools
├── devops              # DevOps and infrastructure files (e.g., Docker, CI/CD)
├── internal            # Private application and library code
│   ├── biz             # Business logic layer (use cases)
│   ├── config          # Configuration loading and management
│   ├── pkg             # Shared internal packages
│   │   ├── database    # Database setup, including ent schemas and client
│   │   └── ...         # Other shared utilities
│   ├── server          # Server implementation (gRPC, HTTP)
│   └── service         # Service layer implementing the API interfaces
├── proto               # Protobuf source files (.proto)
├── scripts             # Helper scripts for development
└── swagger             # Generated Swagger/OpenAPI documentation

About

Simple application template, designed for the Sphere standard layout

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published