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!💎
maragudk / gomponents
HTML components in pure Go.
Tired of complex template languages?
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
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!🧨
lo - Iterate over slices, maps, channels...
✨ 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.
🚀 Install
go get github.com/samber/lo@v1
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 📍
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 📈
matrixorigin / matrixone
Hyperconverged cloud-edge native database
Connect with us:
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.
💥 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 💻
xyproto / algernon
Small self-contained pure-Go web server with Lua, Teal, Markdown, Ollama, HTTP/2, QUIC, Redis, SQLite and PostgreSQL support ++
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
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🌐
The Git-native, enterprise-ready feature management platform that developers love
Docs • Website • Blog • Contributing • Discord
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 💯
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.
seen on:
- Monitor All Network Activity
- Full Control: Block Anything
- Automatically Block Trackers & Malware
- Set Global & Per‑App Settings
- Secure DNS (Doh/DoT)
- Record and Search Network Activity ($)
- Per-App Bandwidth Usage ($)
- 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 🥹
Top comments (2)
impressive
Thank you for the feedback :)