Skip to content

Introduction โ€‹

๐Ÿง  What is Gouse? โ€‹

  • Gouse is a modern essentials Golang utility package delivering consistency, modularity, performance, and extras presets.
  • Built on top of Go language, and others Go open-source packages.
  • Inspired by Lodash so Javascript user-friendly syntax.
  • Lightweight package: easy to use, chainable, extendable, available.
  • Gouse provides a wide variety of available methods, taking the hassle out of working with any type requests. So you can pick the one of them that fit your project demands.
  • Powerful package of built-in functions provide comprehensive, and reliable solutions for any project size and compatible with all OS platforms.
  • Open-source, free to use, and contribute.
  • Offering over 400 utility functions across more than 25 domains. It serves as a toolkit for Go developers, providing ready-to-use solutions for common programming needs.

โœจ Motivation โ€‹

  • Go has emerged as a server language, but it still doesn't have complete and consistent packages available to support coding development.
  • Developers must write by hand or search manually. That wastes time and even causes many compatibility conflicts.
  • Must update each dependent package every time when project update.
  • Unexpected errors can easily arise during execution.
  • Performance is not optimized.
  • The number of lines of code is very long that not easy to read and understand.
  • Code logic may not be consistent, making it difficult to maintain and scale.
  • Hard to make sure the programs are executed the same across all environments.
  • Lack of coherent learning materials and examples.
  • And more...

๐Ÿ‘‰ To address that need, Gouse was created as a powerful presets toolkit for Go developers, a collection of built-in functions and best practices that provide comprehensive, powerful, and reliable solutions. Trusted to build services, software platforms, APIs, and web applications.

๐ŸŽฏ Why to use โ€‹

Thanks to Gouse, you can:

  • Set up and scale projects rapidly.
  • No config - import directly as utility functions.
  • Handle complex logic use-cases such as database connection, build APIs, error handling, log management...
  • Optimize performance and increase productivity.
  • Build easily consistent systems with available functions.
  • Avoid writing repetitive code and a unified code style.
  • Reduce the number of lines of code and make it easier to read, understand, and maintain.
  • Avoid compatibility conflicts and unexpected errors.
  • Works smoothly in any environment and platform.
  • Easy to learn and use, suitable for beginners and experts.
  • Compatible with all frameworks and libraries.
  • Referencing examples with comprehensive documentation
  • And more...

๐Ÿ—๏ธ Key Philosophy โ€‹

Gouse is built with several core design principles in mind:

  • User-Friendly & Lightweight: Gouse features an intuitive JavaScript syntax with no setup required. Import utility functions directly and enjoy a flexible, chainable package available in various builds and formats.
  • Powerful & Versatile: Access a wide range of methods for arrays, numbers, objects, and strings. Comprehensive documentation and examples make implementation smooth and efficient.
  • Scalable & Efficient: Ideal for projects of any size, Gouse supports rapid setup, complex logic handling, and performance optimization across all operating systems.
  • Consistent & Maintainable: Reduce repetitive code and ensure a unified style. Gouse makes your code cleaner, easier to maintain, and minimizes compatibility issues or unexpected errors.

The library follows a modular architecture where related functions are grouped together, making it easy to find and use specific utilities while maintaining a coherent API surface.

๐Ÿ—พ Usage Flow โ€‹

Flow

๐Ÿš€ Core functionality โ€‹

Gouse organizes its functionality into logical groupings of related utilities:

CategoryDescriptionExample Functions
Array OperationsFunctions for working with arrays and slicesMinArr, MaxArr, Intersect
String ManipulationString processing and formatting utilitiesCapitalize, CamelCase, StringSplit
Type SystemType checking, validation and conversionTypeCheck, TypeCastToString
Time OperationsTime retrieval, formatting, and manipulationSecond, Minute, Hour, SleepS
API UtilitiesHelpers for building APIsValidate, UploadSingle, NewPagination
OS & I/OSystem information and file operationsOsIO, OsDisk, IoCheckFile
Function UtilitiesFunction manipulation and control utilitiesFunctionDelay, FunctionRetry, FunctionParallel
Database ConnectionsDatabase connection utilitiesConnectRedis, ConnectPostgres, ConnectMongo
Chart GenerationVisualization utilitiesChartBar, ChartLine, ChartPie
Console UtilitiesTerminal and command line utilitiesConsoleCmd, ConsoleBanner, ConsoleTable

Below is a list of modules that Gouse supports. This project is still in development stage, so some features may be unavailable.

apiarraycachechartconfigconsoleconnectioncroncryptodatefunctionhelperiologgermathmedianetnumberosprintrandomregexstringstructtimetype

Released under the MIT License.