Go to file
Владимир Шалимов 71409f40dc Added readme.md 2024-06-10 07:36:18 +05:00
.idea first commit 2024-06-05 13:43:05 +05:00
controllers Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
database Code refactoring, added comments. 2024-06-09 17:58:38 +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
migrations Добавил валидацию данных в контроллер производителей. 2024-06-05 20:53:24 +05:00
types Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
validators Добавил валидацию данных в контроллер производителей. 2024-06-05 20:53:24 +05:00
go.mod Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
go.sum Code refactoring, added comments. 2024-06-09 17:58:38 +05:00
main.go Added readme.md 2024-06-10 07:36:18 +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