Skip to content

SergeyKo17/tt-ef

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Сервис подписок

REST API для управления подписками на сервисы

Быстрый старт

Предварительные требования

  • Go 1.24.2+
  • PostgreSQL 18+

Установка

  1. Клонировать репозиторий:
git clone github.com/username/project.git
cd progect
  1. Настройка окружения Рекомендуется ввести свои переменные окружения для корректной работы приложения.
cp .env.example .env
  1. Запуск
go run cmd/main.go

Настройка Docker

Запустить приложение

docker compose up --build

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

Base URL

http://localhost:7880/

Основные endpoints

  • GET /subscribes - получение подписок
  • GET /subscribes/all - получение общей стоимости подписок за период
  • POST /create - создание подписки
  • Delete /delete - удаление подписки
  • Put /update - обновление подписки

Swagger UI

Документация доступна по адресу: http://localhost:7880/swagger/index.html

Разработка

Структура проекта

/cmd
  main.go      # Точка входа
/internal
  /database    # Подключение к БД
  /handlers    # HTTP обработчики
  /models      # Структуры данных
  /usecase     # Бизнес-логика
  /storage     # Работа с БД
/migrations    # Файлы миграций

Переменный окружения

Впишите свои параметры

CONFIG_FILE="configdata/configurate.yaml"
DATABASE_PASSWORD=password
DATABASE_USER=user
DATABASE_HOST=localhost
DATABASE_PORT=5050
DATABASE_NAME=dbname
API_PORT=7880
API_HOST=localhost

Создание подписки

curl -X POST http://localhost:8080/api/v1/subscriptions \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "uuid",
    "service_name": "Netflix",
    "price": 500,
    "start_date" "11-2025"
  }'

База данных

Миграции выполняются автоматически при запуске сервера.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors