wild-workouts-go-ddd-example
Mattermost
wild-workouts-go-ddd-example | Mattermost | |
---|---|---|
30 | 142 | |
4,899 | 28,080 | |
1.6% | 0.8% | |
2.7 | 9.9 | |
10 months ago | 2 days ago | |
Go | TypeScript | |
MIT License | 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.
wild-workouts-go-ddd-example
-
Looking for elegant code bases written in Golang
Take a look at: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-exampl...
(I’m one of the authors.)
This project shows how to apply more complex patterns popular in business applications while staying true to the Go ideas, and not copying them blindly from Java.
In the Go community, you’ll often hear people say „just keep things simple” beats all patterns and is all you need. This may be true if you write a CLI tool or a small library, but if you have a team maintaining a big application, some patterns are super helpful.
-
Accomplishing Single Responsibility Principle in my project
Here is a reference implementation by the same authors of the blog post you referenced: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example/tree/master/internal/trainer.
- Seeking Feedback on Go API Implementation using DDD
-
In depth, complex technical implementation videos?
In this case I recommend Three Dots Labs blog and Ardan Labs courses and blog posts.
-
Yet another RealWorld implementation - Go kit, PlanetScale, sqlx, chi
As a rather new developer, I'm ashamed to admit that I struggle with this. I've seen the Dave Cheney writeup about it and I agree with your reasoning, but sometimes I end up in situations like this, where they wrote a server utility, put it into the common package and imported it into the services that need it. The issue I have is the organization of it all because the folder structure seems to make a clear separation of the core services from the utility package. If you have any ideas or tips to help avoid it, that'd be awesome!
- Go Blogs
-
As a Go programmer, what design pattern, programming techniques have you actually used, implemented regularly in your workplace which made your life much easier?
Clean architecture is not tied to some specific paradigm. It's a way of thinking about programs that is common to almost every mature developer. Many developers use it without even knowing the name - they just came to it by themselves through many tries and errors. There is a good free book about using it in Go, called Go with the Domain if you interested.
-
Is there a good example of an open source non-trivial (DB connection, authentication, authorization, data validation, tests, etc...) Go API?
Wild Workouts should match your needs: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example
-
Where can I find well-written go code to learn from?
For Event-Driven / DDD / Microservice projects, take a look at this Github org https://github.com/ThreeDotsLabs and their blog detailing the techniques used https://threedots.tech .
-
Domain-Driven Design Framework for Go Developers
Nice job at taking a stab at DDD in Go! You may want to check out https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example for some inspiration and learning around DDD and Go.
Mattermost
-
Discord to Start Showing Ads for Gamers to Boost Revenue
> Tell me another platform that is free, has realtime chat, voice and video, has stable service, allows sharing images and other media, with good ownership management... and is open source.
Mattermost: https://mattermost.com/
Rocket.Chat: https://www.rocket.chat/
Nextcloud Talk: https://nextcloud.com/talk/
Self hosting and some assembly required. I've run all of them on cheap VPSes to explore a Slack/Discord replacement, neither was mindblowing but all of them seemed okay (Nextcloud's offering was rather barebones, though).
Audio and video support varies because getting those right is challenging, at best you'd just integrate with something like Jitsi, that one's actually pretty good for meetings and such: https://jitsi.org/ and has a cloud version too: https://meet.jit.si/ (yet people still go for Zoom and it's odd UI/UX choices)
I actually rather liked forums back in the day, but I guess nobody will be setting up that many phpBB instances in the current year, though projects like Discourse also seem promising: https://www.discourse.org/
I don't think many people at all will be leaving Discord, due to how entrenched the platform is (network effect): if you want people to help you with what you're working on, you go where they are, not vice versa.
-
Ask HN: Who is hiring? (March 2024)
Mattermost, Inc. | Senior React Native Engineer | REMOTE (US Only) | Full-Time
At Mattermost we build an open core, chat and collaboration platform focused on making users with mission critical work more productive while also allowing our customers to self-deploy and have full control over their own data.
We’re looking for a Senior React Native Engineer who has the depth to significantly move the performance needle of our app while also having the breadth to contribute across our stack.
Check out our open source mobile codebase: https://github.com/mattermost/mattermost-mobile. Meta uses the Mattermost RN app as the benchmark for performance testing of their Hermes JS engine: https://mattermost.com/blog/hermes-mattermost/. Want to set the bar for what a complex, high performing React Native app can do? Want to do it open source? Join our team!
Apply here: https://jobs.lever.co/mattermost/a38ea8f0-6c27-4178-a988-801...
-
List of your reverse proxied services
Mattermost for Chat, and also for Notifications sent by Uptime-Kuma
-
IT Pro Tuesday #259 - Collaboration Platform, Cisco Training, SyncML Tracing & More
Mattermost offers a secure, open-source solution for seamless collaboration throughout the software development lifecycle. Tailored to cater to technical and operational needs, it easily integrates with a wide range of third-party developer tools—to streamline development and engineering workflows. With self-hosted and private cloud deployment options, coupled with access to the source code, you have complete control over the data via a shared, adaptable, and extensible platform designed specifically for your team. Kindly suggested by Molasses_Major.
-
A Slack clone in 5 lines of bash
FWIW, most of the TypeScript lines of code are in the E2E tests[0] and the webapp dir [1], which, as the name suggests, contains "the client code for the Mattermost web app". So we should really only be counting lines of Go code.
[0] https://github.com/mattermost/mattermost/tree/master/e2e-tes...
[1] https://github.com/mattermost/mattermost/tree/master/webapp
-
Alternatives List
Mattermost is an good alternative to companies, workers and teams.
-
Discord alternative?
oder auch Mattermost
-
A few discord alternatives for you to look at
Revolt, Guilded, Element (Matrix Client), Matrix, Cinny (Matrix Client), Spacebar, Rocket Chat, Mikoto, Mattermost, Teamspeak and Nertivia
-
Trello Alternative
might be overkill but https://mattermost.com/
-
Any alternatives to OpenProject and Mattermost that supports ARM?
But it seems that you're right for Mattermost.
What are some alternatives?
clean-architecture-golang - This is my purpose of how to structure a web application in golang following the clean architecture principles
Zulip - Zulip server and web application. Open-source team chat that helps teams stay productive and focused.
watermill - Building event-driven applications the easy way in Go.
Jitsi Meet - Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
fx - A dependency injection based application framework for Go.
Rocket.Chat - The communications platform that puts data protection first.
wire - Compile-time Dependency Injection for Go
Synapse - Synapse: Matrix homeserver written in Python/Twisted.
remix - Build Better Websites. Create modern, resilient user experiences with web fundamentals.
focalboard - Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
eShopOnContainers - Cross-platform .NET sample microservices and container based application that runs on Linux Windows and macOS. Powered by .NET 7, Docker Containers and Azure Kubernetes Services. Supports Visual Studio, VS for Mac and CLI based environments with Docker CLI, dotnet CLI, VS Code or any other code editor. Moved to https://github.com/dotnet/eShop.
Element - A glossy Matrix collaboration client for the web.