Skip to content

Приложение для управления подписками пользователей. Позволяет добавлять, удалять и просматривать подписки, а также получать статистику о самых популярных сервисах подписок. Включает поддержку базы данных PostgreSQL и деплой через Docker.

License

Notifications You must be signed in to change notification settings

fr2eof/User-subscriptions-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Subscriptions Service

Это приложение предоставляет сервис для управления подписками пользователей. Оно позволяет добавлять, удалять и просматривать подписки пользователей, а также получать статистику о самых популярных сервисах подписок.

Функциональность

  • Добавление подписки — позволяет пользователю подписаться на сервис.
  • Удаление подписки — удаляет подписку пользователя.
  • Получение подписок пользователя — возвращает список всех подписок, связанных с пользователем.
  • Получение статистики по самым популярным подпискам — выводит топ сервисов, на которые подписаны пользователи.

Технологии

  • Spring Boot — для создания RESTful сервисов и работы с зависимостями.
  • Spring Data JPA — для работы с базой данных.
  • Mockito — для создания юнит-тестов.
  • Docker — для упаковки приложения и его деплоя.

Установка и запуск

1. Клонирование репозитория

Клонируйте репозиторий на локальную машину:

git clone https://github.com/ваш-репозиторий.git

2. Настройка среды

Убедитесь, что у вас установлен JDK 17 или выше и Docker.

3. Запуск приложения с помощью Docker

3.1. Сборка и запуск с помощью Docker Compose

  1. Убедитесь, что у вас есть файл docker-compose.yml и Dockerfile в корне проекта.

  2. Запустите приложение и базу данных с помощью Docker Compose:

docker-compose up --build

Docker Compose автоматически создаст и запустит два контейнера:

  • PostgreSQL: контейнер для базы данных.
  • Приложение: контейнер с вашим Spring Boot приложением.
  1. Приложение будет доступно по адресу http://localhost:8080, а база данных будет доступна на порту 5432.

4. Запуск тестов

Для запуска тестов используйте команду:

mvn test

5. Пример работы с API

  • POST /users — Создание нового пользователя.

    • Тело запроса:

      {
        "username": "string",
        "email": "string",
        "password": "string"
      }
    • Ответ:

      {
        "id": "1",
        "username": "string",
        "email": "string"
      }
  • GET /users/{id} — Получение информации о пользователе.

    • Ответ:

      {
        "id": "1",
        "username": "string",
        "email": "string"
      }
  • POST /users/{userId}/subscriptions — Добавление подписки пользователю.

    • Тело запроса:

      {
        "serviceType": "NETFLIX",
        "startDate": "2025-05-09T10:00:00",
        "expireDate": "2025-06-09T10:00:00"
      }
  • GET /subscriptions/top — Получение статистики о самых популярных подписках.

Лицензия

Этот проект лицензирован под MIT License - см. файл LICENSE.

About

Приложение для управления подписками пользователей. Позволяет добавлять, удалять и просматривать подписки, а также получать статистику о самых популярных сервисах подписок. Включает поддержку базы данных PostgreSQL и деплой через Docker.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published