Skip to content

Проект-тренировка по работе с api на go

Notifications You must be signed in to change notification settings

VladislavSCV/EducationPractice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API "Sport World"

Описание проекта

Этот проект представляет собой API, разработанный для взаимодействия с базой данных (СУБД: PostgreSQL). API обеспечивает управление информацией о продуктах и пользователях.

Начало работы

Таблица Users

CREATE TABLE Users (
    user_id SERIAL PRIMARY KEY,
    username VARCHAR(25) NOT NULL,
    email VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL,
    registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Таблица Products

CREATE TABLE Products (
    product_id SERIAL PRIMARY KEY,
    seller_id INT REFERENCES Users(user_id),
    name VARCHAR(255) NOT NULL,
    description TEXT,
    category VARCHAR(255),
    price DECIMAL NOT NULL,
    status_id INT REFERENCES ProductStatuses(status_id),
    upload_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    created_by INT REFERENCES Users(user_id),
    deleted_by INT REFERENCES Users(user_id),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

Создание таблицы заказов

CREATE TABLE Orders (
    order_id SERIAL PRIMARY KEY,
    buyer_id INT REFERENCES Users(user_id),
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    created_by INT REFERENCES Users(user_id),
    deleted_by INT REFERENCES Users(user_id),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

##Создание таблицы товаров в заказе

CREATE TABLE OrderItems (
    order_item_id SERIAL PRIMARY KEY,
    order_id INT REFERENCES Orders(order_id),
    product_id INT REFERENCES Products(product_id),
    quantity INT NOT NULL,
    total_price DECIMAL NOT NULL,
    created_by INT REFERENCES Users(user_id),
    deleted_by INT REFERENCES Users(user_id),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

Создание таблицы Обмены

CREATE TABLE Trades (
    trade_id SERIAL PRIMARY KEY,
    initiator_id INT REFERENCES Users(user_id) NOT NULL,
    receiver_id INT REFERENCES Users(user_id) NOT NULL,
    product_id INT REFERENCES Products(product_id) NOT NULL,
    status_id INT REFERENCES TradeStatuses(status_id),
    initiated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    accepted_at TIMESTAMP,
    rejected_at TIMESTAMP
);
  1. После создания таблиц, вы можете взаимодействовать с API для управления данными в базе данных.

Теперь вы можете начать работать с API и взаимодействовать с базой данных.

Взаимодействие с API

Для взаимодействия с api вы можете использовать postman или API tester(в моем случае это расширение для браузера). В случае если вам не интересно использовать api в таком виде, вы можете попробовать телеграм бота который был написан на js. И уже там собственно можете опробовать api)

Запуск проекта

Для запуска API выполните следующие шаги:

  1. Перейдите в каталог с файлом start.bat.
  2. Введите команду: ./start.bat (Ура! API работает!)
  3. Теперь запустим бота. Для этого нам сначала стоит скачать необходимые зависимости.
  4. Перейдите в папку под назавнием TelegramBot
  5. Введите команду в консоли npm i
  6. Далее введите свой токен бота в Main.js
  7. И теперь мы можем запускать главный файл Main.js
  8. Теперь мы можем тестировать наше api через бота!

About

Проект-тренировка по работе с api на go

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published