Skip to content
This repository was archived by the owner on Aug 28, 2025. It is now read-only.

TBXark/sphere

 
 

Repository files navigation

Sphere

This project has been transferred to the go-sphere/sphere repository for maintenance.

Sphere is a project template for building monolithic applications with a focus on simplicity, maintainability, and scalability. It uses ent for schema management and proto for API definitions, providing a solid foundation that can be adapted for microservices as your project evolves.

Sphere comes with powerful code generation tools to create proto files, Swagger documents, TypeScript clients, and more, speeding up your development workflow.

Quick Start

For a detailed walkthrough of setting up a new project, please see the Quick Start Guide.

API Definition Rules

For detailed guidelines on defining API interfaces, including HTTP transcoding rules, path mapping, and field binding, please refer to the API Definition Rules documentation.

Error Handling

For guidelines on error handling and how to define errors in your API, please refer to the Error Handling Documentation.

Features

  • Simple & Maintainable: A clean and straightforward codebase that is straightforward to understand and extend.
  • Rapid Development: Use the code generator to quickly scaffold project components.
  • Modular Design: All modules are designed to be replaceable to fit your specific needs.
  • Single-File Deployment: The entire project can be deployed as a single file for easy management.

Core Dependencies

  • Web Framework: gin
  • Dependency Injection: wire
  • ORM: ent
  • Docs Generation: swag
  • Protobuf management: buf
  • Build Tool: make

Command line Tool

Documentation

  • Standard Layout : Default sphere project template layout.
  • Quick Start Guide : A step-by-step guide to setting up a new Sphere project.
  • API Definitions : Guidelines for writing API definitions .proto files in Sphere.
  • Error Handling : Guidelines for error handling in Sphere applications.
  • Logging : How to set up and use logging in Sphere applications.

License

Sphere is released under the MIT license. See LICENSE for details.

About

A multi-server application template

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 95.4%
  • Shell 2.1%
  • Makefile 2.1%
  • Other 0.4%