Go to file
Владимир Шалимов f18f1a1662 Merge branch 'master' of http://git.texnico.ru:3000/ravonzz/Go-TestAPI 2024-06-10 07:37:43 +05:00
.idea first commit 2024-06-05 13:43:05 +05:00
cli Added docker-compose 2024-06-09 20:46:43 +05:00
controllers Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
database Added docker-compose 2024-06-09 20:46:43 +05:00
golang-test Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
libs Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
types Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
validators Добавил валидацию данных в контроллер производителей. 2024-06-05 20:53:24 +05:00
Dockerfile Added docker-compose 2024-06-09 20:46:43 +05:00
docker-compose.yml Added docker-compose 2024-06-09 20:46:43 +05:00
entrypoint.sh Added docker-compose 2024-06-09 20:46:43 +05:00
go.mod Added Docker 2024-06-09 20:01:21 +05:00
go.sum Added Docker 2024-06-09 20:01:21 +05:00
main.go Merge branch 'master' of http://git.texnico.ru:3000/ravonzz/Go-TestAPI 2024-06-10 07:37:43 +05:00
readme.md Added readme.md 2024-06-10 07:36:18 +05:00

readme.md

Документация API

Обзор

Этот проект представляет собой RESTful API для управления товарами, производителями и пользователями. В качестве ORM используется GORM.

Endpoints

Товары

  • POST /product - Создание нового товара. Требуется JSON с данными товара.
  • DELETE /product/:id - Удаление товара по идентификатору.
  • GET /product - Получение списка всех товаров.
  • GET /product/:id - Получение информации о конкретном товаре.
  • GET /product/:id/buy - Покупка товара по идентификатору.

Производители

  • POST /manufacturer - Создание нового производителя. Требуется JSON с данными производителя.
  • DELETE /manufacturer/:id - Удаление производителя по идентификатору.
  • GET /manufacturer - Получение списка всех производителей.
  • PATCH /manufacturer/:id - Редактирование данных производителя. Требуется JSON с изменениями.

Пользователи

  • POST /registration - Регистрация нового пользователя. Требуется JSON с данными пользователя.
  • POST /login - Вход пользователя. Требуется JSON с данными для входа.
  • GET /user - Получение данных текущего пользователя.
  • PATCH /user - Редактирование имени пользователя. Требуется JSON с новым именем.
  • POST /user/addmoney - Добавление денег на счет пользователя. Требуется JSON с суммой.
  • GET /user/products - Получение списка купленных пользователем товаров.

Запуск сервера

Сервер запускается в докер контейнере

Сначала нужно собрать image командой:

docker build -t ravonzz/go-testapi .

Затем можно запускать контейнер вместе с БД Postgresql командой:

docker-compose up -d