Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/begenov/education-project
Это репозиторий, содержащий три микросервиса, разработанных на языке Go
https://github.com/begenov/education-project
docker-compose gin kafka microservices postgresql redis sarama swagger
Last synced: 9 days ago
JSON representation
Это репозиторий, содержащий три микросервиса, разработанных на языке Go
- Host: GitHub
- URL: https://github.com/begenov/education-project
- Owner: begenov
- Created: 2023-06-25T09:20:13.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-06-25T09:48:01.000Z (over 1 year ago)
- Last Synced: 2024-04-21T17:18:25.661Z (7 months ago)
- Topics: docker-compose, gin, kafka, microservices, postgresql, redis, sarama, swagger
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Руководство по проекту
Это репозиторий, содержащий три микросервиса, разработанных на языке Go и использующих следующие технологии: HTTP, Redis, Gin, Kafka, Swagger и Docker Compose. В этом README файле вы найдете информацию о запуске каждого из микросервисов, а также об их функциональности.
## Клонирование репозиториев
Для начала вам необходимо склонировать все репозитории. Вы можете воспользоваться следующими командами для каждого из репозиториев:
```
git clone https://github.com/begenov/admin-service.git
git clone https://github.com/begenov/student-service.git
git clone https://github.com/begenov/courses-service.git
```## Микросервисы
Проект состоит из трех микросервисов: admin-service, student-service и courses-service. Ниже представлены инструкции по запуску каждого из них.
### admin-service
1. Перейдите в каталог admin-service после клонирования репозитория.
2. Запустите следующую команду для запуска контейнера Docker:
```
docker-compose up
```3. После успешного запуска контейнера Docker, выполните следующую команду для запуска микросервиса:
```
go run cmd/main.go
```### student-service
1. Перейдите в каталог student после клонирования репозитория.
2. Запустите следующую команду для запуска контейнера Docker:
```
docker-compose up
```3. После успешного запуска контейнера Docker, выполните следующую команду для запуска микросервиса:
```
go run cmd/main.go
```### courses-service
1. Перейдите в каталог course после клонирования репозитория.
2. Запустите следующую команду для запуска контейнера Docker:
```
docker-compose up
```3. После успешного запуска контейнера Docker, выполните следующую команду для запуска микросервиса:
```
go run cmd/main.go
```## Функциональность
Проект предоставляет функциональность для работы с администраторами (admin), студентами (student) и курсами (course) с использованием HTTP запросов. Дополнительно, проект использует Apache Kafka для обработки сообщений и получения информации о курсах, на которые подписаны студенты, а также о студентах, зарегистрированных на определенный курс.
Для получения дополнительной информации о доступных HTTP
продалжи
ChatGPTзапросах и эндпоинтах, вы можете обратиться к документации Swagger
## Swagger Documentation
Swagger предоставляет документацию для API проекта, описывая доступные эндпоинты, методы запросов и параметры. Чтобы получить доступ к Swagger документации, выполните следующие шаги:
### Admin Service
http://localhost:8080/swagger/index.html#/
### Student Service
http://localhost:8001/swagger/index.html
### Course Service
http://localhost:8000/swagger/index.html
Чтобы получить доступ к Swagger документации, вам необходимо сначала запустить каждый микросервис, следуя инструкциям, указанным в руководстве выше, а затем перейти по соответствующим ссылкам.
## Заключение
От моего имени я хотел бы сказать, что этот проект стал для меня ценным источником знаний и опыта. В ходе его разработки и использования технологий, таких как Golang, HTTP, Redis, Gin, Kafka, Swagger и Docker Compose, я смог изучить множество новых концепций и расширить свои навыки в области разработки микросервисов.
Этот проект не только помог мне лучше понять, как работает взаимодействие между различными компонентами, но и дал мне практический опыт в создании и развертывании масштабируемых приложений. Я также научился использовать Apache Kafka для обработки сообщений и узнал о важности документации API с помощью Swagger.