Это проект системы управления обучением (LMS), который разрабатывается как часть реального образовательного сервиса. Основная идея — упростить управление курсами, студентами и преподавателями. Некоторые элементы проекта взяты из уже сделанных частей, а что-то добавлялось специально под задачи.
- Созданы основные таблицы: пользователи, курсы, категории, зачисления и главы курсов.
- Реализована поддержка связей между таблицами, включая отношения "многие ко многим" для студентов и курсов.
- Добавлены JSON-поля для гибкого хранения метаданных (например, адреса пользователей).
- Настроена работа PostgreSQL через
docker-compose. - Реализована репликация мастера и реплики для отказоустойчивости.
- Быстрое разворачивание базы через Docker облегчило тестирование.
- Сделаны запросы для подсчёта рейтингов курсов и прогресса студентов.
- Добавлены индексы для ускорения сложных выборок.
- Проведена оптимизация запросов с JSON.
- Поднята MongoDB через Docker с репликацией.
- Созданы коллекции: пользователи, курсы, заказы и категории.
- Реализованы запросы для поиска и обновления данных в коллекциях.
Частично использованные структуры и подходы взяты из проекта LMS, над которым я уже работаю. Это позволило применить ранее разработанные решения и ускорить выполнение лабораторных задач, сосредоточившись на их корректной реализации.