Skip to content

mut4bor/Schedule-Parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

University Schedule Project

Проект для управления расписанием университета. Клиентская часть написана на React с использованием Vite и TypeScript, серверная часть — на Node.js с Express и TypeScript. Данные хранятся в базе данных MongoDB.

Структура проекта


root/
├── client/ # Клиентская часть (React + Vite)
├── server/ # Серверная часть (Node.js + Express)
├── README.md # Документация
├── .gitignore


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

1. Клонирование репозитория

Склонируйте репозиторий на локальную машину:

git clone https://github.com/mut4bor/Schedule-Parser.git
cd Schedule-Parser

2. Установка зависимостей

Установите зависимости для клиента и сервера:

# Установка зависимостей клиента
cd client
npm install

# Установка зависимостей сервера
cd ../server
npm install

3. Настройка переменных окружения

Создайте файлы .env в папках client и server, используя предоставленные примеры .env.sample.

Пример .env для клиента:

VITE_API_URL=https://example.com
VITE_X_ADMIN_PASSWORD=**********

Пример .env для сервера:

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=**********

Важно: Убедитесь, что вы заменили значения переменных на свои собственные.

4. Настройка базы данных MongoDB

Убедитесь, что у вас установлен и запущен MongoDB. Укажите URL подключения в переменной MONGODB_URL в файле .env сервера.


Запуск проекта

1. Запуск клиента

Перейдите в папку client и выполните команду:

npm run dev

Клиент будет доступен по адресу http://localhost:5173 (порт может отличаться).

2. Запуск сервера

Перейдите в папку server и выполните команду:

npm run dev

Сервер будет доступен по адресу http://localhost:8080 (порт указан в переменной PORT).


NPM-скрипты

Клиент

  • 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-таблиц, скачанных с другого сайта. Для управления расписанием доступны два скрипта:

  1. npm run create — Полностью очищает базу данных и создает новое расписание.
  2. npm run update — Обновляет существующее расписание в базе данных.

Инструкция для билда проекта

1. Сборка клиента

Перейдите в папку client и выполните команду:

npm run build

Собранные файлы будут находиться в папке client/dist.

2. Сборка сервера

Перейдите в папку server и выполните команду:

npm run build

Собранные файлы будут находиться в папке server/dist.

3. Запуск собранного проекта

  1. Убедитесь, что все переменные окружения настроены корректно.
  2. Запустите сервер из собранной папки:
cd server
npm run start
  1. Если вы используете отдельный хостинг для клиента, загрузите содержимое папки client/dist на ваш хостинг.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published