krok
todo-api-microservice-example
Our great sponsors
krok | todo-api-microservice-example | |
---|---|---|
9 | 17 | |
13 | 965 | |
- | - | |
0.0 | 8.6 | |
over 1 year ago | 6 days ago | |
Go | Go | |
Apache License 2.0 | MIT License |
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.
krok
-
The fastest and easiest way of setting up the database for unit tests
Booting up a database in a container is relatively fast now-a-days. Take a look here: https://github.com/krok-o/krok/blob/main/tests/livestore/init_test.go
-
How to write unit test for gin golang
An example for this you can find here: https://github.com/krok-o/krok/tree/main/pkg/krok/providers/handlers
-
my first golang project!
Tests!!! You have none. :) If you want to test with a real DB instead of mocking everything you can do that with an ephemeral container that spins up relatively fast. Here is an example for that: https://github.com/krok-o/krok/blob/main/tests/livestore/init_test.go ( This might be a bit over your head depending on your experience maybe this post is better: https://docs.docker.com/language/golang/run-tests/ )
-
need help with "os/exec"
As others suggested, using the API is nicer. If you are looking for a nice example on how to do that take a look at my docker container executor code here: https://github.com/krok-o/krok/blob/main/pkg/krok/providers/executor/in_memory_executor.go :)
-
https://np.reddit.com/r/golang/comments/pn9k5r/what_is_swagger_and_how_to_implement_swagger_for/hcnxk69/
Here is an app where I'm using swagger and I create API documentation by using swagger generator and comments: https://github.com/krok-o/krok
-
Presenting Krok - Multiplatform webhook handling system with containerised commands
I would like to present a project I've been working on for 1.5 years or so, called Krok Github, Krok Website.
-
[Question] How to split main.go into separate packages/files whilst maintaining Dependency Injection?
Here is a fairly complex project which does just this: https://github.com/krok-o/krok
-
https://np.reddit.com/r/golang/comments/og9458/how_to_implement_swagger_ui_for_multiple_apis/h4kfmsa/
Adding to the other comments, this is how Krok uses swagger:
-
What is the fastest way to clear my SQL database between integration tests?
This creates a temporary database in a docker container while you are running your test. For an example look here: https://github.com/krok-o/krok/blob/main/tests/livestore/init_test.go
todo-api-microservice-example
-
While Learning Haskell Developing Project
Hello guys im a self teach coder. im working with golang atm because this great project speed up my learning curve: https://github.com/MarioCarrion/todo-api-microservice-example
-
Open source projects to look at for best practices?
With that being said, if you're looking for something friendlier, I share my own educational repo, still a WIP but it should help you with the basics.
-
Is there a standard file in Golang from which packages could be installed? Yes, I am aware about go.mod, but hear me out.
internal/tools and
-
Hexagonal architecture and mocking
You are going to need to add a domain package where the Beer type and all the logic associated to that type is defined to avoid the cyclical dependency. I typically follow this approach by using internal as the domain package that then other packages like services, data stores or transport use.
- Working with microservices in a monorepo
-
DDD file structure & cyclic dependencies
Here's my approach; a few worth-mentioning packages in there: * service defines the use cases, it's a glue between the domain model and repositories. * rest defines the http handlers uses the service types via dependency injection (see main.go) * postgresql concrete repository example (there are other implementations for other data stores like kafka, redis, etcetera.
-
Example of a well written and structured RESTful API or web service?
Other redditors mentioned some good resources, I'm going to shamelessly plug mine as well; either way after you are done with whatever tutorial you use I recommend you to look at the Exposure Notifications Server, reading the source code should help you learn other best practices.
-
Golang for backend
One word of advise I can give you is that building a production-grade microservice in Go takes a bit; not because of the language but because you have consider the tradeoffs when choosing different packages to connect everything to make it work (because there's no Django, Ruby on Rails or Spring), I have an educational repository (still work in progress) trying to describe what I've learned from the last 5 years after successfully deploying multiple services to production where multiple engineers contribute and collaborate together; perhaps that could help you.
-
How to avoid "import cycle not allowed" when defining related models in different packages?
With all of that being said I have an educational repository demonstrating this structure, I've been using it in real life for about 5 years already and I've successfully delivered services to production multiple times where multiple engineers contribute and collaborate together.
-
Good example of production grade rest api without an ORM
You may want to checkout the "Exposure Notifications Server" project; I also have a similar (educational) project that uses the Repository Pattern.
What are some alternatives?
typhon - A wrapper around Go's net/http to provide safety and convenience. At Monzo, Typhon forms the basis of most clients and servers in our microservices platform.
fx - A dependency injection based application framework for Go.
sql-migrate - SQL schema migration tool for Go.
svc-fizzbuzz - A simple fizzbuzz microservice
go-banking-api - Banking API implementation using Go
franz-go - franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 3.6+. Producing, consuming, transacting, administrating, etc.
microservicebotexample
waypoint - A tool to build, deploy, and release any application on any platform.
txdriver - txdriver provides transaction isolation for Go SQL tests
exposure-notifications-server - Exposure Notification Reference Server | Covid-19 Exposure Notifications
explicit-architecture-php - This repository is a demo of Explicit Architecture, using the Symfony Demo Application.