Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/filipe1309/ud-go-microservices

Udemy - Working with Microservices in Go (Golang)
https://github.com/filipe1309/ud-go-microservices

docker golang grpc kubernetes microservices mongodb postgresql rabbitmq rpc

Last synced: 16 days ago
JSON representation

Udemy - Working with Microservices in Go (Golang)

Awesome Lists containing this project

README

        

#

Working with Microservices in Go (Golang)


Go
PostgreSQL
MongoDB
RabbitMQ
Docker
Kubernetes

## 💬 About

This project was developed following Udemy's "[Working with Microservices in Go (Golang)](https://www.udemy.com/course/working-with-microservices-in-go/)" class.

Notes taken during the course are in the [notes](notes.md) file.

## :computer: Technologies

- [Go](https://golang.org/)
- [go-chi](https://github.com/go-chi/chi)
- [PostgreSQL](https://www.postgresql.org/)
- [MongoDB](https://www.mongodb.com/)
- [pgx](https://github.com/jackc/pgx)
- [Mailhog](https://github.com/mailhog/MailHog)
- [go-premailer](https://github.com/vanng822/go-premailer)
- [Go Simple Mail](https://github.com/xhit/go-simple-mail)
- [RabbitMQ](https://www.rabbitmq.com/)
- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/)
- [Docker Swarm](https://docs.docker.com/engine/swarm/)

(back to top)

## :scroll: Requirements

- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/)
- [Docker Swarm](https://docs.docker.com/engine/swarm/)

(back to top)

## :cd: Installation

```sh
git clone [email protected]:filipe1309/ud-go-microservices.git
```

```sh
cd ud-go-microservices
```

(back to top)

## :runner: Running

Start all containers:
```sh
make up_build
```
> Stop with `make down`

Start front end app:
```sh
make start # start front-end
```
> Stop with `make stop`

> Access http://localhost to see the app
>
> Access http://localhost:8025 to see emails sent (Mailhog)

Running with Docker Swarm:

```sh
docker swarm init
```

```sh
cd project
docker stack deploy -c swarm.yml go-micro-app
```

(back to top)

## :memo: License

[MIT](https://choosealicense.com/licenses/mit/)

(back to top)

## 🧙‍♂️ About Me





(back to top)

## :clap: Acknowledgments

- [ShubcoGen Template™](https://github.com/filipe1309/shubcogen-template)
- [Go](https://golang.org/)
- [go-chi](https://github.com/go-chi/chi)
- [PostgreSQL](https://www.postgresql.org/)
- [MongoDB](https://www.mongodb.com/)
- [pgx](https://github.com/jackc/pgx)
- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/)
- [Mailhog](https://github.com/mailhog/MailHog)
- [go-premailer](https://github.com/vanng822/go-premailer)
- [Go Simple Mail](https://github.com/xhit/go-simple-mail)
- [RabbitMQ](https://www.rabbitmq.com/)
- [What Are RPCs in Golang?](https://betterprogramming.pub/rpc-in-golang-19661033942)
- [RPC with Go, what is it?](https://dev.to/iamelesq/rpc-with-go-what-is-it-p41)
- [gRPC](https://grpc.io/)
- [gRPC protoc](https://grpc.io/docs/protoc-installation/)
- [Docker Swarm](https://docs.docker.com/engine/swarm/)
- [Docker Hub](https://hub.docker.com/)

(back to top)

---


Done with  ♥️  by Filipe Leuch Bonfim 🖖

---