- A microservice template for building robust, scalable applications in Golang.
- SQLC β Generates type-safe Go code from SQL queries, improving database interactions.
- Viper β A powerful configuration management tool for environment variables, config files, and flags.
- Echo β A high-performance, extensible, and minimalist web framework for building APIs.
- Ent β A Go entity framework for struct-based ORM, simplifying database modeling.
- GraphQL β A Go GraphQL server implementation with a focus on code generation.
- WebSocket β A highly optimized WebSocket implementation for real-time communication.
- OpenTelemetry β Provides observability (tracing, metrics, logs) for distributed systems.
- Zap β A high-performance, structured logging library by Uber.
- Consul β A service discovery and configuration tool for dynamic service registration and health checking.
- Fx β A dependency injection framework for simplifying application initialization and lifecycle management.
- Ants β A high-performance goroutine pool in Go.
- Workerpool : Added Implementation adaptive and fix workerpool.
βββ pkg
βββ services
βββ inventory
βββ products
- pkg: Contains shared packages for different services.
βββ app
β βββ apis
β β βββ coupons
β β βββ products
β β βββ get_all
β β βββ get_by_id
β β βββ v1
β β β βββ dtos
β β β βββ endpoints
β β β βββ handler
β β β βββ model
β β βββ v2
β βββ core
β β βββ constants
β β βββ contracts
β β βββ errors
β β βββ helpers
β β βββ middlewares
β β βββ models
β βββ data
β βββ infra
β β βββ bulk-factory
β β βββ scheduler
β β βββ states
β βββ inits
β βββ view
βββ cmd
βββ conf
βββ docs
βββ logs
βββ cgfx
βββ server
βββ sqlc
- app: Contains the main application code.
- apis: API related code.
- coupons: API endpoints and handlers for coupons.
- products: API endpoints and handlers for products.
- get_all: Endpoint to get all products.
- get_by_id: Endpoint to get a product by ID.
- v1: Version 1 of the get_by_id endpoint.
- dtos: Data Transfer Objects for v1.
- endpoints: Endpoint definitions for v1.
- handler: Handlers for v1.
- model: Models for v1.
- v2: Version 2 of the get_by_id endpoint.
- v1: Version 1 of the get_by_id endpoint.
- core: Core functionalities and utilities.
- constants: Constant values used across the application.
- contracts: Interface definitions and contracts.
- errors: Error handling and definitions.
- helpers: Helper functions and utilities.
- middlewares: Middleware functions.
- models: Data models and schemas.
- data: Data access layer.
- grpc: Grpc server implementation, and grpc client client setup.
- infra: Infrastructure related code.
- bulk-factory: Bulk processing utilities.
- scheduler: Task scheduling utilities.
- states: State management utilities.
- inits: Initialization scripts and configurations.
- view: View layer code.
- apis: API related code.
- cmd: Command line interface related code.
- conf: Configuration files.
- docs: Documentation files.
- cgfx: Code generation frameworks like entity framework, sqlc, gqlgen.
- logs: Error & access logs.
- server: Server related code.
- sqlc: SQL code and database migrations.