📖 "Численные методы. Интерполяция" это...
...интерактивное веб-приложение для изучения методов интерполяции (линейная, Лагранж, Ньютон).
Проект является курсовой работой по дисциплине МДК.02.01 "Технология разработки программного обеспечения".
| ✨ Рабочее название: interpolation ✨ | |
| 🏛️ Тип архитектуры | Event-Driven Architecture (EDA) + элементы MSA |
| 📘 Дисциплина | Технология разработки программного обеспечения |
| 📌 Курсовой проект | Проектирование и разработка обучающего приложения по теме: Численные методы. Интерполяция |
| 👨🏫 Преподаватель | Томашеевич А. А. |
| 📅 Дата | 2026-05-03 |
Проект построен на микросервисной архитектуре:
- Nginx: Раздача SPA и проксирование API/Swagger (Docker);
- API Gateway: Маршрутизация, CORS, Rate Limiting (Go + Gin);
- Interpolation Service: Вычислительное ядро с кэшированием (Go + Redis);
- History Service: Сохранение истории вычислений (Go + SQLite + RabbitMQ);
- Frontend: Интерактивный SPA (Vue 3 + Vuetify + Chart.js).
Диаграмма показывает действия пользователя в приложении: изучение теории, выполнение заданий, работа в песочнице и просмотр/очистка истории вычислений.
Диаграмма отражает ключевые сущности домена (точка, запрос/ответ интерполяции, запись истории) и их связи между сервисами.
Диаграмма описывает основной поток вычисления: валидация входных данных, проверка кэша, вычисление интерполяции, сохранение результата и публикация события истории.
Диаграмма показывает взаимодействие компонентов при обработке запроса интерполяции и при получении истории вычислений: вызов через API Gateway, проверка кэша Redis (cache hit/miss), вычисление в Interpolation Service, публикация события в RabbitMQ и сохранение записи в SQLite через History Service.
Проект разделён на frontend (SPA) и backend (набор Go-сервисов), а инфраструктурные зависимости описаны через Docker Compose.
interpolation/
├─ backend/
│ ├─ core/
│ │ └─ interpolation/ # вычислительное ядро (алгоритмы интерполяции)
│ ├─ gateway/ # API Gateway (маршрутизация, CORS, rate limiting, Swagger)
│ ├─ interpolation/ # Interpolation Service (HTTP API, кэш Redis)
│ ├─ history/ # History Service (SQLite + RabbitMQ)
│ ├─ go.mod / go.sum # зависимости Go-модуля
│ └─ */Dockerfile # сборка контейнеров backend-сервисов
├─ frontend/ # Vue 3 + Vite + Vuetify (SPA)
│ ├─ src/
│ │ ├─ views/ # страницы (обучение/песочница)
│ │ ├─ components/ # переиспользуемые компоненты (графики и т. п.)
│ │ ├─ router/ # маршрутизация
│ │ └─ assets/ # изображения для теоретических материалов
│ └─ Dockerfile # сборка фронтенда
├─ docker/ # конфигурация инфраструктуры (nginx/redis/rabbitmq)
├─ config/ # конфигурация приложения (config.toml)
├─ docs/ # спецификации, диаграммы, скриншоты
│ ├─ diagrams/ # UML-диаграммы проекта
│ └─ .screenshots/ # скриншоты UI
├─ docker-compose.yml # оркестрация сервисов и инфраструктуры
└─ README.md # документация проекта
docker compose up --build- Фронтенд:
http://localhost/ - API Gateway:
http://localhost/api/v1/ - Swagger:
http://localhost/swagger/index.html - RabbitMQ Management:
http://localhost:15672(guest/guest)
- Backend: Go 1.25.5, Gin, Redis, RabbitMQ, SQLite.
- Frontend: Vue 3, Vuetify 3, Chart.js.
- DevOps: Docker, Docker Compose, Nginx.