Skip to content

CRUD server application (WebAPI). Go language. Gin framework. Reindexer database

Notifications You must be signed in to change notification settings

Maritornez/GoCRUD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebAPI на языке Go

Проект представляет из себя два Docker-контейнера. Один из них содержит базу данных Reindexer, а другой - WebAPI. Они запускаются с помощью Docker Compose. Есть три сущности: company, man и tip. Tip относится к какому-то man, а man в свою очередь относится к какому-то company. Реализованы операции CRUD над этими документами. У метода GET есть пагинация. Реализовано рекурсивное удаление документов. Используется фреймворк Gin, потому что он поддерживает промежуточное ПО, с ним легко работать со сбоями, легко реализовать авторизацию. Кэширование документов реализовано посредством BigCache. Использовать Redis и развертвать его в отдельном контейнере не увидел смысла, потому что что Redis, что используемый Reindexer используют для хранения данных оперативную память, поэтому будут иметь примерно одинаковое время отклика. Ради того, чтобы добиться уменьшения времени отклика, данные хранятся в памяти самого приложения. Реализовано кэширование документов и параллельная обработка запросов на выдачу множества документов. Приложение завернуто в докер-контейнер. Контейнер с веб-сервисом загружен на DockerHub.

Как запустить приложение

На компьютере должен быть установлен и запущен Docker.

Скачайте файл docker-compose.yml в удобное место на компьютере. В директории нахождения файла откройте терминал и введите команду docker-compose up

Как взаимодействовать с приложением

Конечные точки для тестирования с помощью Postman (или другого удобного инструмента):

Company:

Man:

Tip:

Вместо :id нужно подставить идентификатор документа

Схемы документов (для того, чтобы по ним создавать свои json для HTTP-запросов) представлена в данном репозитории в директории assets

About

CRUD server application (WebAPI). Go language. Gin framework. Reindexer database

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published