SkillAgentSearch skills...

Goserve

goserve is a robust Go backend architecture. It offers a performant and scalable framework, emphasizing feature separation, clean code, and testability. Ideal for REST API development, goserve simplifies unit and integration testing, ensuring high-quality, production-ready applications with ease.

Install / Use

/learn @afteracademy/Goserve

README

Go Tests Go Report Card GoDoc License

<div align="center">

GoServe

Production-Ready Go Backend Architecture Framework

Banner

A comprehensive, production-ready framework for building scalable Go backend services with PostgreSQL, MongoDB, Redis, and NATS microservices support.

Documentation

</div>

Getting Started

Features

  • Clean Architecture - Well-structured, maintainable codebase following Go best practices
  • HTTP Server - Built on Gin framework with middleware support
  • Authentication - JWT-based authentication and authorization
  • Multiple Databases - Support for PostgreSQL, MongoDB, and Redis
  • Microservices - NATS-based microservice communication patterns
  • Validation - Comprehensive request/response validation using validator v10
  • Error Handling - Structured error handling and API responses
  • Testing - Extensive test coverage with mocking support
  • DTOs - Type-safe data transfer objects for common types (UUID, ObjectID, Slug, Pagination)
  • Performance - Optimized for high-throughput production workloads

Core Packages

| Package | Description | |---------|-------------| | network | HTTP routing, middleware, request/response handling, validation | | mongo | MongoDB connection, query builder, validation utilities | | postgres | PostgreSQL database connectivity and operations | | redis | Redis caching and key-value store operations | | micro | NATS microservice framework for message-based communication | | dto | Common DTOs (MongoID, UUID, Slug, Pagination) | | utility | Helper functions for formatting, mapping, random generation | | middleware | HTTP middleware (error catcher, 404 handler) |

Example Projects

Real-world applications built with GoServe:

  1. PostgreSQL API Server
    Complete REST API with PostgreSQL, JWT authentication, and clean architecture

  2. MongoDB API Server
    MongoDB-based backend with flexible schema design

  3. Microservices Example
    NATS-based microservices communication patterns

Technology Stack

Documentation

<div align="center">

Read the Full Documentation on goserve.afteracademy.com

Comprehensive guides, API references, and examples for all packages

</div>

Articles & Tutorials

Contributing

We welcome contributions! Please see our Contributing Guidelines and Code of Conduct.

Development Setup

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/goserve.git
  3. Create a feature branch: git checkout -b feature/your-feature
  4. Make changes and add tests
  5. Run tests: go test ./...
  6. Commit with clear messages: git commit -m "Add feature: description"
  7. Push to your fork: git push origin feature/your-feature
  8. Open a Pull Request

Learn More

Subscribe to AfterAcademy on YouTube for in-depth tutorials and concept explanations:

YouTube

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Support This Project

If you find GoServe useful, please consider:

  • Starring this repository
  • Reporting bugs and issues
  • Suggesting new features
  • Contributing code improvements
  • Sharing with the community

Security

For security concerns, please review our Security Policy.


<div align="center">

Built with love by AfterAcademy

DocumentationQuick Start GuideContributingLicense


</div>
View on GitHub
GitHub Stars173
CategoryDevelopment
Updated5h ago
Forks23

Languages

Go

Security Score

100/100

Audited on Mar 26, 2026

No findings