Skip to content

Limbusnoe-Student-Society/HackAndChange-Backend

Repository files navigation

Limbus-Edu Backend

❓ Постановка задачи

Создать гибкое и масштабируемое backend-решение для образовательной платформы, основанной на микросервисной архитектуре. Проект должен демонстрировать способность команды быстро развернуть продакшен-подобную инфраструктуру в условиях хакатона.

💻 Технологии

  • Java 21
  • Spring Boot / Spring Cloud (Eureka, Gateway, Feign)
  • PostgreSQL
  • Docker & Docker Compose
  • HTML CSS JS

⭐ Основные возможности

Модульная микросервисная архитектура - независимые сервисы (Auth, Course, Gateway, Registry) позволяют развивать продукт быстро и безопасно.

📈 Преимущества

  • Масштабируемость - каждый сервис можно развивать отдельно
  • Надёжность - Kafka как шина событий
  • Упрощённый запуск - Docker Compose поднимает всю инфраструктуру
  • Готовность к продакшену - сервис-дискавери, API Gateway, разделённые БД

⚙️ Установка и настройка

  1. Склонировать репозиторий
git clone git@github.com:Limbusnoe-Student-Society/HackAndChange-Backend.git
cd HackAndChange-Backend
  1. Создать файл .env
DB_USERNAME=app_user
DB_PASSWORD=admin
SECURITY_JWT_SECRET=change-me
SECURITY_JWT_EXPIRATION=3600000
S3_KEY=key
S3_SECRET=secret
S3_REGION=ru-central1
S3_ENDPOINT=https://storage.yandexcloud.net
S3_BUCKET=bucket
  1. Запустить инфраструктуру
docker compose -p hackandchange-backend up -d

🔃 Запуск через Docker

  1. Собрать jar и образы:
./gradlew buildRelease
  1. Поднять весь стек:
docker compose up --build

⚖️ Аналоги и почему наше решение лучше

Аналоги: монолитные приложения, REST-сервисы без сервис-дискавери, решения без брокеров сообщений.

Почему наш подход лучше:

  • Микросервисы легко расширить
  • Простая контейнеризация
  • Подходит для масштабирования и командной разработки

🔮 Возможные дополнения

  • CI/CD (GitHub Actions)
  • Мониторинг (Prometheus + Grafana)
  • Централизованные логи (ELK)

Json-структура для добавления курсов

{
  "title": title,
  "description": description,
  "modules": [
    {
      "title": title,
      "order": 1,
      "lessons": [
        {
          "title": title,
          "order": 1,
          "pages": [
            {
              "type": "TEXT", // или "VIDEO", "QUIZ"
              "title": title,
              "content": contentText,
              "videoUrl": null, 
              "order": 1,
            }
          ]
        }
      ]
    }
  ]
}

⁉️ Фидбек / Issues

Если нашли баг или хотите предложить улучшение - создайте issue в репозитории. Описывайте проблему кратко и по существу, добавляйте шаги воспроизведения и логи при необходимости.

👪Команда проекта:

About

Backend for Hack&Change 2025 Hackathon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors