Files
rltn/README.md

6.4 KiB
Raw Permalink Blame History

EEV_Proj Server

Этот репозиторий содержит серверную часть проекта EEV_Proj (ветка server), реализованную с использованием Node.js и Express. Сервер отвечает за API, взаимодействует с базой данных и обслуживает статические файлы фронтенда.

Оглавление

  1. Описание проекта

  2. Технологии

  3. Установка и запуск

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

  5. Основные модули

  6. PM2 конфигурация

  7. Контакты

Описание проекта

Проект EEV_Proj представляет собой веб-приложение с клиентской и серверной частями. Ветка server содержит сервер, который:

  • Обрабатывает HTTP-запросы и предоставляет REST API.
  • Подключается к базе данных для хранения и извлечения данных.
  • Раздаёт статические файлы фронтенда (HTML/CSS/JS).
  • Поддерживает кластерный запуск через PM2.

Технологии

  • Node.js — среда выполнения JavaScript.
  • Express — веб-фреймворк для Node.js.
  • PM2 — процесс-менеджер для Node.js приложений.
  • MySQL / PostgreSQL / MongoDB (в зависимости от вашей настройки) — СУБД.
  • JavaScript (ES6+) — основной язык разработки.

Установка и запуск

Клонирование

git clone https://github.com/IprokK/EEV_Proj.git
cd EEV_Proj
git checkout server

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

npm install

Настройка окружения

Создайте файл .env в корне проекта и добавьте необходимые переменные:

# Сервер
PORT=3000

# База данных
DB_HOST=localhost
DB_PORT=5432
DB_USER=your_username
DB_PASS=your_password
DB_NAME=your_database

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

  • Обычный запуск

    node server.js
    
  • Через PM2

    pm2 start ecosystem.config.js --env production
    

Откройте браузер и перейдите по адресу http://localhost:<PORT>/.

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

EEV_Proj/
├── public/                # Статические файлы фронтенда (HTML, CSS, JS)
├── src/                   # Исходники клиентской части:
│   ├── index.html         # Основной HTML-шаблон приложения
│   ├── index.js           # Точка входа React: монтирует корневой компонент
│   ├── App.js             # Корневой React-компонент приложения
│   ├── components/        # Папка переиспользуемых React-компонентов
│   │   └── …              # Компоненты (например, Header, Footer, Dashboard и т.д.)
│   ├── services/          # Модуль для работы с API (REST-запросы к серверу)
│   │   └── api.js         # Пример файла с конфигурацией запросов
│   ├── utils/             # Утилитарные функции и хелперы (валидация, форматирование)
│   ├── styles/            # Глобальные стили и темы (CSS/SCSS файлы)
│   └── assets/            # Статические ресурсы (изображения, шрифты)
├── .env                   # Переменные окружения (не хранится в репозитории)
├── db.js                  # Модуль подключения к базе данных
├── server.js              # Точка входа сервера (Express application)
├── ecosystem.config.js    # Конфигурация для PM2
├── package.json           # Описание зависимостей и npm-скрипты
└── README.md              # Описание проекта (вы находитесь здесь)

Основные модули

  • server.js — стартовый файл, инициализирует Express, настраивает middleware, роуты и запускает сервер.
  • db.js — конфигурирует подключение к базе данных через выбранный драйвер.
  • public/ — содержит готовый к раздаче фронтенд (сборка или статические файлы).
  • src/ — содержит исходники клиентской части (React-компоненты, сервисы, утилиты).
  • ecosystem.config.js — позволяет управлять процессом сервера через PM2.

PM2 конфигурация

Файл ecosystem.config.js позволяет управлять процессом сервера в продакшене:

module.exports = {
  apps: [{
    name: "EEV_Server",
    script: "server.js",
    env: {
      NODE_ENV: "development",
    },
    env_production: {
      NODE_ENV: "production",
    }
  }]
};

Запуск в режиме продакшен:

pm2 start ecosystem.config.js --env production
pm2 logs EEV_Server

Контакты

Если у вас возникли вопросы или предложения, создайте issue в репозитории или напишите Ilya Nice напрямую.