Веб-приложение для управления расписанием учебного заведения
Экспресс Расписание для Колледжа - это комплексная микросервисная система для автоматизации составления и управления учебным расписанием в средних специальных учебных заведениях.
Система предоставляет:
-
Интеллектуальную генерацию расписаний
-
Централизованное управление учебными данными
-
Многофункциональную аналитику нагрузки
-
Персонализированные интерфейсы для разных ролей
-
Автоматическая генерация с учетом 50+ параметров
-
Конфликт-менеджер занятий
-
Гибкая система замен и переносов
-
Визуальный редактор расписания
-
Центр управления учебными планами
-
Настройка нагрузок преподавателей
-
Управление аудиторным фондом
-
Контроль учебных групп
-
Мониторинг загрузки преподавателей
-
Анализ использования аудиторий
-
Статистика по группам
-
Экспорт отчетов в 3-x форматах (excel, pdf, docx)
Микросервисная архитектура
graph TD
A[Frontend] --> B[API Gateway]
B --> C[Auth Service]
B --> D[Data Service]
B --> E[Schedule Service]
B --> F[Reporting Service]
- Docker 20.10+
- Docker Compose 1.29+
- Node.js 16+ (для разработки фронтенда)
-
Клонируйте репозиторий:
git clone https://github.com/iamlorddop/college-schedule.git cd college-schedule -
Настройте переменные окружения:
cp .env.example .env # Отредактируйте .env по необходимости -
Запустите систему:
docker-compose up -d --build
-
Применяем миграции:
docker-compose exec backend python manage.py migrate -
Создаем суперпользователя:
docker-compose exec backend python manage.py createsuperuser -
Подключитесь к PostgreSQL в контейнере:
docker-compose exec db psql -U postgres -d college_schedule -
Запуск фронтенда (для разработки):
cd frontend npm install npm run dev -
Система доступна по адресам:
-
Frontend: http://localhost:5173
-
Backend API: http://localhost:8000
-
Admin Panel: http://localhost:8000/admin
-
RabbitMQ Management: http://localhost:15672
-
PGAdmin (если включен): http://localhost:5050
Полная документация API доступна после запуска:
http://localhost:8080-
Администратор - полный доступ
-
Преподаватель - просмотр своего расписания
-
Студент - просмотр расписания группы
curl -X POST http://localhost:8000/api/auth/login/ \
-H "Content-Type: application/json" \
-d '{"username":"admin", "password":"admin"}'curl -X GET http://localhost:8000/api/schedule/ \
-H "Authorization: Bearer {token}"-
Форкните репозиторий
-
Создайте ветку для вашей фичи (git checkout -b feature/AmazingFeature)
-
Сделайте коммит изменений (git commit -m 'Add some AmazingFeature')
-
Запушьте в ветку (git push origin feature/AmazingFeature)
-
Откройте Pull Request
MIT License. Подробнее см. LICENSE.