Проект для управления расписанием университета. Клиентская часть написана на React с использованием Vite и TypeScript, серверная часть — на Node.js с Express и TypeScript. Данные хранятся в базе данных MongoDB.
root/
├── client/ # Клиентская часть (React + Vite)
├── server/ # Серверная часть (Node.js + Express)
├── README.md # Документация
├── .gitignore
Склонируйте репозиторий на локальную машину:
git clone https://github.com/mut4bor/Schedule-Parser.git
cd Schedule-Parser
Установите зависимости для клиента и сервера:
# Установка зависимостей клиента
cd client
npm install
# Установка зависимостей сервера
cd ../server
npm install
Создайте файлы .env
в папках client
и server
, используя предоставленные примеры .env.sample
.
VITE_API_URL=https://example.com
VITE_X_ADMIN_PASSWORD=**********
NODE_ENV=develop/production
UNIVERSITY_URL=https://example.com
FETCH_URL=https://example.com
PRODUCTION_DOMAIN=https://example.com
SERVER_HOST_NAME=Example
PORT=8080
X_ADMIN_PASSWORD=**********
MONGODB_URL=mongodb://username
REFRESH_PASSWORD=**********
Важно: Убедитесь, что вы заменили значения переменных на свои собственные.
Убедитесь, что у вас установлен и запущен MongoDB. Укажите URL подключения в переменной MONGODB_URL
в файле .env
сервера.
Перейдите в папку client
и выполните команду:
npm run dev
Клиент будет доступен по адресу http://localhost:5173 (порт может отличаться).
Перейдите в папку server
и выполните команду:
npm run dev
Сервер будет доступен по адресу http://localhost:8080 (порт указан в переменной PORT
).
npm run dev
— Запускает клиент в режиме разработки.npm run build
— Собирает клиент для продакшена.npm run preview
— Предпросмотр собранного клиента.
npm run dev
— Запускает сервер в режиме разработки с использованиемnodemon
.npm run build
— Компилирует TypeScript-код в папкуdist
и обновляет алиасы с помощьюtsc-alias
.npm run start
— Запускает сервер из собранной папкиdist
.npm run lint
— Проверяет код на соответствие правилам ESLint.npm run format
— Исправляет ошибки форматирования кода с помощью ESLint.npm run create
— Удаляет текущую базу данных и создает расписание с нуля, используя скриптdist/npm-scripts/create.js
.npm run update
— Обновляет существующее расписание, используя скриптdist/npm-scripts/update.js
.
Сервер работает с расписанием, которое парсится из Excel-таблиц, скачанных с другого сайта. Для управления расписанием доступны два скрипта:
npm run create
— Полностью очищает базу данных и создает новое расписание.npm run update
— Обновляет существующее расписание в базе данных.
Перейдите в папку client
и выполните команду:
npm run build
Собранные файлы будут находиться в папке client/dist
.
Перейдите в папку server
и выполните команду:
npm run build
Собранные файлы будут находиться в папке server/dist
.
- Убедитесь, что все переменные окружения настроены корректно.
- Запустите сервер из собранной папки:
cd server
npm run start
- Если вы используете отдельный хостинг для клиента, загрузите содержимое папки
client/dist
на ваш хостинг.