Skip to content

Учебный проект Java Spring - Бэкенд составляющая сервиса для шеринга вещей

Notifications You must be signed in to change notification settings

Timirlon/share-it

Repository files navigation

Share-It


Содержание

  1. Описание проекта
  2. Особенности архитектуры
  3. Стек технологий
  4. Установка и запуск
  5. Конфигурация
  6. Тестирование
  7. Контакты

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

Сервис Share-It предназначен для обмена (шеринга) вещей между пользователями.
В репозитории реализован бэкенд (серверная часть), обеспечивающий:

  • управление пользователями;
  • публикацию и каталогизацию вещей, доступных для шеринга;
  • обработку запросов на аренду / возврат вещей;
  • уведомления / логирование транзакций и действий;
  • взаимодействие микросервисов через API Gateway.

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


Особенности архитектуры

  • Микросервисный подход: разделение функционала на отдельные сервисы.
  • API Gateway (shareit-gateway) для маршрутизации запросов и возможного централизованного контроля/аутентификации.
  • Сервисная логика и доступ к данным реализованы через Spring Boot + Spring Data JPA.
  • СУБД: PostgreSQL.
  • Контейнеризация и оркестрация через Docker Compose.
  • Тестирование: модульные тесты, интеграционные тесты, покрытие ключевых компонентов (Mockito, JUnit и др.).

Стек технологий

Компонент Технология / библиотека
Язык программирования Java 17
Фреймворк Spring Boot, Spring Data JPA
СУБД PostgreSQL
Сборщик / управление зависимостями Maven
Контейнеризация Docker, Docker Compose
Тестирование JUnit, Mockito

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

Ниже — шаги, необходимые для развёртывания и запуска проекта на локальной машине.

  • Клонировать репозиторий

    git clone https://github.com/Timirlon/share-it.git
    cd share-it
  • Убедиться, что установлен Docker и Docker Compose

  • Создать .env или настроить конфигурацию (см. раздел "Конфигурация")

  • Запуск через Docker Compose docker-compose up --build

  • Локальный запуск вручную

    # Сначала запускаем основной сервис 
    cd shareit-server
    mvn clean install
    mvn spring-boot:run
    
    # Затем gateway
    cd ../shareit-gateway
    mvn clean install
    mvn spring-boot:run

После старта сервисов можно обращаться к API через указанные порты в конфигурации (по умолчанию или настроенные).


Конфигурация

Переменная / параметр Описание Пример значения / Замечания
spring.datasource.url URL подключения к базе данных например jdbc:postgresql://localhost:5432/shareitdb
spring.datasource.username Имя пользователя БД
spring.datasource.password Пароль к БД
Порты сервисов Gateway, сервер и т.п. Убедиться, что не пересекаются
Другие настройки JWT / безопасность / логирование (если есть)

Замечание: переменные конфигурации могут быть вынесены в .env файл или в application.properties / application.yml, в зависимости от сервиса.


Тестирование

  • Запуск юнит-тестов через Maven:
    mvn test
  • Присутствует 100% покрытие тестами функционала основного модуля - shareit-server
  • Рекомендуется при внесении изменений добавлять тесты для новых функций / исправлений ошибок.

Контакты

Если возникнут вопросы — можно связаться с автором через GitHub: Timirlon

About

Учебный проект Java Spring - Бэкенд составляющая сервиса для шеринга вещей

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published