Создать CRUD-приложение, предоставляющее Web API к данным
"Бизнес"-сущность придумывается самостоятельно (на примере books).
API Приложение должно уметь посредтсвом http-запросов:
- Получить по id (Get \book)
- Получить список всех сущностей (GET \books)
- Создать сущность (POST/PUT)
- Обновить сущность по id (POST/PUT)
- Удалить сущность по id (DELETE)
Go Использовать gofmt, goimports для code style. Логировать ошибки любым логгером на Ваш выбор. Для передачи данных использовать JSON. Для роутинга использовать любую библиотеку на Ваш выбор. Хранилище данных на Ваш выбор: PostgreSQL, MSSQL, MongoDB Для работы с реляционными БД использовать SQL/ORM
Git Ваш код должен находится в git-репозитории В main ветке должна быть рабочая версия Файл README обязателен. Добавить в него инструкцию по запуску Вашего приложения
Дополнительные задания со звездочкой
- Кэширование запросов
- Докеризация
- Docker-compose
- Авторизация
- Автоматическое тестирование через Postman
- Unit-тесты
- Linter
- установить golang. 1.19.8
apt isntall golang
или
pacman -S golang
-
установить Postgresql 15. для debian:
apt install postgresql
для arch:pacman -S postgresql
-
Запустить Posgresql
systemctl enable postgresql
sytstemct start postgresql
-
Создание пользователя и базы данных в posgtesql
\npsql -U postgres
CREATE USER cruder WITH PASSWORD 'jw8';
CREATE DATABASE crudapp OWNER cruder;
-
Скомпилировать программу:
go build main.go
-
Запустить программу:
./main