micro
golang-standards/project-layout
Our great sponsors
micro | golang-standards/project-layout | |
---|---|---|
41 | 194 | |
11,982 | 45,384 | |
0.3% | 2.5% | |
8.7 | 6.4 | |
14 days ago | 19 days ago | |
Go | Makefile | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
micro
-
Show HN: Micro Chat – Private group chat
Hey all
I'm Asim. I'm an engineer who's been hacking on an open source project called Micro for the past eight years (https://micro.dev). In that time I've done a lot of things, all Dev related but ultimately most of my career was spent working on platforms for consumer products. After many attempts I've decided the path forward is to focus on building something that solves my own problem. Micro Chat is a solution to some of the social media problems I've been having.
What I've been looking for most of my life is a community. A place to belong. I scoured the internet for that with strangers. But I think that's wrong. The public forums are also the wrong place to find that connection. What we need to do is focus on smaller communities starting with real connections. We need to strip away a lot of the addictive behaviours and issues created by social media. I think things like hackernews are great because it's very simple text based, with no notification and centers around conversations about topics of interest. I think that's how group chat should also be. The difference here is, I want a place to build small private communities e.g micro communities. Most real groups lose their value beyond a certain size. For me that's around 20 people. As an introvert I really care about strong connections with a handful of people. Unfortunately those real world connections are now spread globally as people moved away and while we have private slacks or WhatsApp grojps to stay in touch it just feels like the wrong setup for that. If anything I want to consolidate it into one place.
Anyway I'm sharing this now to get some feedback. I think the tech and the product will evolve but only by finding out if others feel the same.
-
Ask HN: What are some examples of cloud lock-in?
Had similar goals. Started by writing Go interfaces for it with Go Micro - https://go-micro.dev then opted for the platform service model as you mentioned with Micro - https://micro.dev
I think whether it's Dapr, Micro or something else, the platform service model with well defined interfaces is the way to go. I don't think a lot of people get this yet so it's still going to be a few years before it takes off.
-
Go Framework: No Framework?
What if any is the relationship between https://m3o.com/ and https://micro.dev/ ?
- More Instant Messaging Interoperability
-
Real World Micro Services
I shared this post in a few developer communities like Hacker News and it was well received. Over the past few years I've been working on an open source project called Micro, an API first development platform and I'm now sharing Micro Services, a catalog of reusable real world Micro services.
I think the more interesting aspect of this is the framework being used: https://github.com/micro/micro
I haven't dug into it at all yet, but at a glance it looks like it's aiming to do something similar to what Go kit (https://gokit.io/) or Finagle (https://twitter.github.io/finagle/) does, where it gives you a nice abstraction for defining your "service" and then handles all the supplementary aspects (service discovery, serialization, retry/circuit breaker logic, rate limiting, hooks for logging, tracing, and metrics, etc) so you don't have to build those from scratch every time.
I don't know if any of those other frameworks could really be considered very "successful" outside the original organizations they were built for (it seems like the industry has bet more on service meshes and API gateway products), but I'd probably be more inclined to start with one of them than making a new framework.
-
Go Micro: a standard library for distributed systems development
Wait, I've seen this repository on HN a few days ago: https://github.com/micro/micro
Are you affiliated with this repository? How is it related to yours?
-
What's your opinion on Micro and what do you use for microservice architecture boilerplate chassis?
So, I searched for some options, which I found through microservices.io, and saw Go kit and Micro.
-
Anyone needs a (long-term) contributor for their open source project written in Go?
There is one project that I know that might fits your interest https://github.com/micro/micro
golang-standards/project-layout
-
"14 Years of Go" by Rob Pike
Your comment makes it look as if you're saying you hate the Go development team, but it seems that isn't the case.
I get a little of what you're saying, I wouldn't say I hate anyone, but I strongly dislike how a lot of projects are organized. I think a lot stems from https://github.com/golang-standards/project-layout , which pretended to be standard and was so (ab)used one of the creators opened an issue about it. If you look at the actual Go src, it's much, much cleaner.
-
Looking for elegant code bases written in GoLang
So you don't get blind sided for self proclaimed "standards" that are not
Take a look at Standard Go Project Layout - https://github.com/golang-standards/project-layout
that repo has spawned so much awkward "appeal to authority" debates in my experience. So much that I have this issue in my bookmarks folder 🥲: https://github.com/golang-standards/project-layout/issues/117
- I'm coming from Java and I have been told that I'm writing go like I'm writing Java. Basically creating structs, injecting fields, and attaching methods. What else can I do?
- O poder do CLI com Golang e Cobra CLI
- Como deixar o Swagger com tema dark mode usando Swaggo e Golang
-
How To Build A Containerized Microservice in Golang: A Step-by-step Guide with Example Use-Case
Familiarity with the standard Golang project structure, which you can find here.
-
Building RESTful API with Hexagonal Architecture in Go
I've been learning how to build web applications using different frameworks and languages for a while now, such as Laravel with its MVC architecture and Node.js following the 'Hapi.js Way'. As I'm trying to create a new portfolio project using Go, I found myself contemplating over the ideal project structure. I wanted something that not only aligns with the standard Go project layout, but also makes the code both easy to write and understand. That's when I stumbled upon the concept of Hexagonal Architecture, as showcased in Netflix's engineering blog. The idea of seamlessly swapping infrastructures with minimal code changes fascinated me, and I decided to implement it in my new project.
-
Idea of multiple directories
I think this doc does a good job covering the design (unofficial) design guidance https://github.com/golang-standards/project-layout
What are some alternatives?
uber-go-style-guide-kr - Uber's Go Style Guide Official Translation in Korean. Linked to the uber-go/guide as a part of contributions
go-micro - A Go microservices framework
modern-go-application - Modern Go Application example
uber-go-style-guide-th - Uber's Go Style Guide Translation in Thai. Linked to the uber-go/guide as a part of contributions https://github.com/uber-go/guide
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
cookiecutter-golang - A Go project template
go-sample - Go Project Sample Layout
service - Starter-kit for writing services in Go using Kubernetes.
rpcx - Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud!
countries - Countries - ISO-639, ISO-3166 countries codes with subdivisions and names, ISO-4217 currency designators, ITU-T E.164 IDD phone codes, countries capitals, UN M.49 codes, IANA ccTLD countries domains, FIPS, IOC/NOC and FIFA codes, VERY VERY FAST, compatible with Databases/JSON/BSON/GOB/XML/CSV, Emoji countries flags and currencies, Unicode CLDR.
go-clean-arch - Go (Golang) Clean Architecture based on Reading Uncle Bob's Clean Architecture