micro
golang-standards/project-layout
Our great sponsors
micro | golang-standards/project-layout | |
---|---|---|
42 | 195 | |
12,017 | 45,852 | |
0.4% | 2.2% | |
8.7 | 6.4 | |
4 days ago | about 2 months 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
- Micro – A Go service development platform
-
Show HN: Mu – A community first app platform proposal
Hi HN
I'm Asim, an engineer and author of the open source project Micro (https://micro.dev). I've been on this forum in various forms since 2009. In that time I've seen a lot of shifts in the technology landscape, participated in a few and even tried to start a company myself (which ended up VC funded). In typical HN fashion, I drank the kool-aid and applied to YC around 8-10 times. I got so far as going to mountain view for an interview but never got in. I played right into the idea of starting a fast growing company and "changing the world" by solving my own problems in the developer ecosystem but somewhere along the way lost sight of the problem I was solving. I think it speaks to my own need to seek validation (in the wrong place) but also the general nature of the ecosystem that became all about the pursuit of more funding, growth, users, etc. It really feels like while there's 70-80% value created, the other 20-30% is doing us a lot of harm. Consumer software has become addictive, corporations are becoming huge profit seeking blackholes that mostly cater to their shareholders and we have yet to see any great alternative to the existing tools and services we're now beholden too.
A couple weeks ago I posted Micro Chat (https://micro.mu) on HN - https://news.ycombinator.com/item?id=36135683. This was my first effort in trying to solve the problems mentioned above. But I don't think it's enough. I think what we're talking about is something much bigger. And it's not going to be solved by open source, federation or a single tool. I'm starting to think we need to build something bigger, an entirely new community led app platform.
So here's my idea. Mu (pronounced mew) is a proposal to build a new community app platform from the ground up. It would address all the problems we seem to mention here about ownership of services, addictive scrolling, profit seeking agendas and do it by empowering a community to crowdfund the creation of an alternative system that focuses on being a utility for the people. It would generally be open source, potentially self hostable, but the larger goal would be to empower a handful of people to host and run the service for everyone else, a built like how Let's Encrypt is run today.
I've thrown this idea around a lot, started many discussions here and even tried to push a few things out but never really gotten anywhere with it. I think part of it is to just, build the smallest piece and see where it goes, hence Micro Chat, but the other part is to gauge the sentiment in the room and see whether we can actually fund something much bigger totally aligned with the community. I'm a huge fan of Google services and the utility they offer, but the nature of technology has veered so far into addiction with scrolling feeds, streaming and social media that I feel there's a need to do something now.
If there's interest, please comment and provide feedback.
Cheers
-
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.
https://micro.mu
- Show HN: Micro – Platform APIs built for developers
-
Tech Layoffs Are Feeding a New Startup Surge
Happy to help anyone starting up. I raised a couple mil in seed funding for an open source project after bootstrapping for a few years. I'm sure the YC crew would be more helpful but I got rejected by YC like 8 times and took the direct route to funding.
We built this https://M3O.com. It was based on this https://github.com/micro/micro
Just happy to help given my own tough experiences. Pitch deck reviews, intros, etc.
-
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/ ?
- Micro - An API first development platform
- 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.
golang-standards/project-layout
-
The power of the CLI with Golang and Cobra CLI
cmd: here where we will leave the main.go that starts our app.
-
What's your go to literature to build Go libraries?
> https://github.com/golang-standards/project-layout
The name of the repo is really and intentionally misleading. rsc filled an issue there to point this out, but the repo maintainer just disabled issues altogether so now no one can see it.
Even when it would not have such parasitic name, many seasoned Go programmers, me included, consider the self-proclaimed "Standard Go project Layout" as the opposite of what is good and advisable.
Unfortunately, the name just works, so it is being recommended all over the Internet since its inception.
-
"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
- 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
-
Can I point a module to a subdirectory?
I am writing a project that has two components: a CLI and a library. I've organised the project as follows (as per organisation instructions):
-
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.
What are some alternatives?
go-micro - A Go microservices framework
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
grpc-go - The Go language implementation of gRPC. HTTP/2 based RPC
modern-go-application - Modern Go Application example
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!
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
DHT - BitTorrent DHT Protocol && DHT Spider.
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
celeriac - Golang client library for adding support for interacting and monitoring Celery workers, tasks and events.
cookiecutter-golang - A Go project template
Dkron - Dkron - Distributed, fault tolerant job scheduling system https://dkron.io
service - Starter-kit for writing services in Go using Kubernetes.