DEV Community

Cover image for 7 Open Source Projects You Should Know - Go Edition ✔️
Domenico Tenace for This is Learning

Posted on • Edited on • Originally published at Medium

7 Open Source Projects You Should Know - Go Edition ✔️

Overview

Hi everyone 👋🏼​
In this article, I'm going to look at seven OSS repository that you should know written in Go, interesting projects that caught my attention and that I want to share.
Let's start 🤙🏼​


1. gomponents

gomponents are HTML components written in pure Go. They render to HTML 5, and make it easy for you to build reusable components. So you can focus on building your app instead of learning yet another templating language, amazing!💎

GitHub logo maragudk / gomponents

HTML components in pure Go.

Tired of complex template languages?

Logo

GoDoc CI codecov Go Report Card

Try HTML components in pure Go.

gomponents are HTML components written in pure Go They render to HTML 5, and make it easy for you to build reusable components So you can focus on building your app instead of learning yet another templating language.

go get maragu.dev/gomponents
Enter fullscreen mode Exit fullscreen mode

Made with ✨sparkles✨ by maragu: independent software consulting for cloud-native Go apps & AI engineering.

Contact me at markus@maragu.dk for consulting work, or perhaps an invoice to support this project?

Features

Check out www.gomponents.com for an introduction.

  • Build reusable HTML components
  • Write declarative HTML 5 in Go without all the strings, so you get
    • Type safety from the compiler
    • Auto-completion from the IDE
    • Easy debugging with the standard Go debugger
    • Automatic formatting with gofmt/goimports
  • Simple API that's easy to learn and use (you know most already if you know HTML)
  • Useful helpers like
    • Text and…

2. lo

Do you know Lodash?
Okay,this library is similar but built for the Go projects!
It may look like Lodash in some aspects, try it!🧨

GitHub logo samber / lo

💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)

lo - Iterate over slices, maps, channels...

tag Go Version GoDoc Build Status Go report Coverage Contributors License

samber/lo is a Lodash-style Go library based on Go 1.18+ Generics.

A utility library based on Go 1.18+ generics that makes it easier to work with slices, maps, strings, channels, and functions. It provides dozens of handy methods to simplify common coding tasks and improve code readability. It may look like Lodash in some aspects.

5 to 10 helpers may overlap with those from the Go standard library, in packages slices and maps. I feel this library is legitimate and offers many more valuable abstractions.

See also:

  • samber/do: A dependency injection toolkit based on Go 1.18+ Generics
  • samber/mo: Monads based on Go 1.18+ Generics (Option, Result, Either...)

Why this name?

I wanted a short name, similar to "Lodash", and no Go package uses this name.

lo

🚀 Install

go get github.com/samber/lo@v1
Enter fullscreen mode Exit fullscreen mode

This library is v1 and follows SemVer strictly.

3. TiDB

TiDB is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability 📍

GitHub logo pingcap / tidb

TiDB - the open-source, cloud-native, distributed SQL database designed for modern applications.

TiDB

TiDB (/’taɪdiːbi:/, "Ti" stands for Titanium) is an open-source, cloud-native, distributed SQL database designed for high availability, horizontal and vertical scalability, strong consistency, and high performance.

Key Features

  • Distributed Transactions: TiDB uses a two-phase commit protocol to ensure ACID compliance, providing strong consistency. Transactions span multiple nodes, and TiDB's distributed nature ensures data correctness even in the presence of network partitions or node failures.

  • Horizontal and Vertical Scalability: TiDB can be scaled horizontally by adding more nodes or vertically by increasing resources of existing nodes, all without downtime. TiDB's architecture separates computing from storage, enabling you to adjust both independently as needed for flexibility and growth.

  • High Availability: Built-in Raft consensus protocol ensures reliability and automated failover. Data is stored in multiple replicas, and transactions are committed only after writing to the majority of…

4. MatrixOne

MatrixOne is a hyper-converged cloud & edge native distributed database with a structure that separates storage, computation, and transactions to form a consolidated HSTAP data engine. This engine enables a single database system to accommodate diverse business loads such as OLTP, OLAP, and stream computing. It also supports deployment and utilization across public, private, and edge clouds, ensuring compatibility with diverse infrastructures 📈

GitHub logo matrixorigin / matrixone

Hyperconverged cloud-edge native database

Connect with us:

matrixone16 matrixone16

If you are interested in MatrixOne project, please kindly give MatrixOne a triple `Star`, `Fork` and `Watch`, Thanks!

Contents

What is MatrixOne?

MatrixOne is a hyper-converged cloud & edge native distributed database with a structure that separates storage, computation, and transactions to form a consolidated HSTAP data engine. This engine enables a single database system to accommodate diverse business loads such as OLTP, OLAP, and stream computing. It also supports deployment and utilization across public, private, and edge clouds, ensuring compatibility with diverse infrastructures.

MatrixOne

💥 Hyper-converged Engine

Monolithic Engine HTAP data engine that supports a mix of workloads such as TP, AP, time series, and machine learning within a single database.


Built-in Streaming Engine
Built-in stream computing engine that enables real-time data inflow, transformation, and querying.





5. Algernon

Algernon is a web server with built-in support for QUIC, HTTP/2, Lua, Teal, Markdown, Redis, PostgreSQL, MariaDB/MySQL, MSSQL, rate limiting, graceful shutdown, plugins, users and permissions and more other features and technologies 💻

GitHub logo xyproto / algernon

Small self-contained pure-Go web server with Lua, Teal, Markdown, Ollama, HTTP/2, QUIC, Redis, SQLite and PostgreSQL support ++

Algernon

Build GoDoc License Go Report Card FOSSA Status Stand With Ukraine

Web server with built-in support for QUIC, HTTP/2, Lua, Teal, Markdown, Pongo2, HyperApp, Amber, Sass(SCSS), GCSS, JSX, Ollama (LLMs), BoltDB (built-in, stores the database in a file, like SQLite), Redis, PostgreSQL, SQLite, MariaDB/MySQL, MSSQL, rate limiting, graceful shutdown, plugins, users and permissions.

All in one small self-contained executable.

Distro Packages

Packaging status

Quick installation

Requires Go 1.21 or later.

go install github.com/xyproto/algernon@latest 

Or manually (development version):

git clone https://github.com/xyproto/algernon cd algernon go build -mod=vendor ./welcome.sh 

Releases and pre-built images

See the release page for releases for a variety of platforms and architectures.

Getting Started

See TUTORIAL.md.

Docker

The Docker image is less than 12MB and can be tried out (on x86_64) with:

mkdir localhost echo 'hi!' > localhost/index.md docker run -it -p4000:4000 -v .:/srv/algernon xyproto/algernon 

And then visiting http://localhost:4000 in a browser.

Technologies

Written in Go. Uses Bolt (built-in), MySQL, PostgreSQL, SQLite or Redis (recommended) for the database…

6. Flipt

Flipt enables you to follow DevOps best practices and separate releases from deployments. Built with high-performance engineering organizations in mind. It can be deployed within your existing infrastructure so that you don't have to worry about your information being sent to a third party or the latency required to communicate across the internet🌐

GitHub logo flipt-io / flipt

Enterprise-ready, Git native feature management solution

Flipt

The Git-native, enterprise-ready feature management platform that developers love


Flipt Dashboard

Note

Looking for Flipt v1? You can find the v1 code on the main branch and documentation at docs.flipt.io.

Why Flipt v2?

Finally, feature flags that work with your existing Git workflow.

Flipt v2 is the first truly Git-native feature management platform that treats your feature flags as code. Store your flags in your own Git repositories, use your existing branching strategy, and deploy flags alongside your code using the tools you already know and trust.

🚀 Git-Native by Design

  • Own your data: Store feature flags directly in your Git repositories
  • Version control: Full history and blame for every flag change
  • Branch and merge: Test flag changes in branches before merging to production
  • Deploy together: Feature flags deploy with your code using existing CI/CD pipelines

🌍 Multi-Environment

7. Portmaster

Portmaster is a free and open-source application firewall that does the heavy lifting for you. Restore privacy and take back control over all your computer's network activity with great defaults your privacy improves without any effort 💯

GitHub logo safing / portmaster

🏔 Love Freedom - ❌ Block Mass Surveillance

Get Peace of Mind
with Easy Privacy

Portmaster is a free and open-source application firewall that does the heavy lifting for you Restore privacy and take back control over all your computer's network activity.

With great defaults your privacy improves without any effort. And if you want to configure and control everything down to the last detail - Portmaster has you covered too. Developed in the EU 🇪🇺, Austria.

Download for Free

About Us

Portmaster User Interface

seen on:

    ghacks.net     Techlore     Lifehacker

  1. Monitor All Network Activity
  2. Full Control: Block Anything
  3. Automatically Block Trackers & Malware
  4. Set Global & Per‑App Settings
  5. Secure DNS (Doh/DoT)
  6. Record and Search Network Activity ($)
  7. Per-App Bandwidth Usage ($)
  8. SPN, our Next-Gen Privacy Network ($$)

Technical Introduction

Portmaster is a privacy suite for your Windows and Linux desktop.

Base Technology

  • Portmaster integrates into network stack using nfqueue on Linux and a kernel driver (WFP) on…

Conclusion

This list lists seven open source projects that are worth checking out, either to use them or even to contribute🖖
Happy coding!✨


Hi👋🏻
My name is Domenico, software developer passionate of Open Source, I write article about it for share my knowledge and experience.
Don't forget to visit my Linktree to discover my projects 🫰🏻

Linktree: https://linktr.ee/domenicotenace

Follow me on dev.to for other articles 👇🏻

If you like my content or want to support my work on GitHub, you can support me with a very small donation.
I would be grateful 🥹

Buy Me A Coffee

Top comments (2)

Collapse
 
gadekar_sachin profile image
Sachin Gadekar

impressive

Collapse
 
dvalin99 profile image
Domenico Tenace This is Learning

Thank you for the feedback :)