/COMPASS-3D-courses

Compass 3D Course

Primary LanguageJavaScript

NodeJS Markdown ESLint JavaScript

Курс по Компас 3D

Данный проект представляет собой обширный курс по изучению программы Компас 3D, предназначенный для тех, кто желает освоить основы и продвинутые навыки работы в этом инструменте для трехмерного моделирования. Проект включает в себя установку и первый запуск программы, изучение эскизов, деталей и создание сборок.

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

Эта инструкция предназначена для разработчиков и технических специалистов, которые хотят установить и собрать проект "Курс по Компас 3D" на своем локальном устройстве.

Предварительные требования

  1. Node.js и npm: убедитесь, что на вашем компьютере установлен Node.js и npm. Вы можете их скачать и установить с официального сайта Node.js.
  2. Git: убедитесь, что у вас установлен Git. Вы можете скачать и установить Git с официального сайта Git.

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

  1. Клонирование репозитория: откройте терминал (или командную строку) и выполните следующую команду для клонирования репозитория:
git clone https://github.com/NotACat1/COMPASS-3D-courses.git
  1. Установка зависимостей: перейдите в директорию проекта, используя команду:
npm install
  1. Сборка проекта: для сборки проекта используется команда:
npm run build

Эта команда запускает процесс сборки проекта.

Курс

  1. Установка и первый запуск: предоставляет подробные инструкции по установке программы Компас 3D. Студенты также ознакомятся с первыми шагами в работе с программой, что включает в себя основные настройки, интерфейс и первый запуск. Этот модуль ориентирован на обеспечение плавного старта в использовании программы.
  2. Изучение эскизов: предоставляет обзор основ работы с эскизами в Компас 3D. Студенты углубятся в процесс создания и редактирования эскизов, овладеют ключевыми инструментами и техниками. Этот модуль направлен на формирование навыков работы с основными элементами трехмерных моделей.
  3. Изучение деталей: предоставляет студентам возможность глубоко погрузиться в создание и редактирование деталей в программе Компас 3D. В рамках этого модуля рассматриваются продвинутые техники моделирования деталей, включая использование различных инструментов и функций программы.
  4. Создание сборок: направлен на развитие навыков создания и управления сложными сборками в Компас 3D. Студенты изучат техники сборки компонентов, работу с ограничениями и взаимодействие между частями сложных конструкций. Этот модуль позволяет студентам освоить навыки построения полноценных трехмерных моделей.

Каждый модуль включает в себя уникальный набор уроков, разработанных для последовательного и систематического изучения соответствующих навыков и тем в программе Компас 3D.

Преимущества Курса

  • Постепенное углубление: материал представлен пошагово, обеспечивая плавное углубление в тему и прогрессирование от простых к более сложным концепциям.
  • Практические задания: курс включает практические задания и проекты, позволяя студентам непосредственно применять полученные знания в реальных проектах.
  • Актуальность и практическая применимость: материал ориентирован на актуальные требования индустрии и фокусируется на практической применимости знаний в современной среде трехмерного моделирования.

Проект "Курс по Компас 3D" стремится предоставить студентам компетентные и глубокие знания, необходимые для успешного владения программой Компас 3D в профессиональной деятельности.

Скрипты

В файле package.json определены различные скрипты, обеспечивающие автоматизацию различных аспектов разработки, тестирования и развертывания проекта.

"scripts": {
    "msg-commit": "npx commitlint -E HUSKY_GIT_PARAMS",
    "pre-commit": "npx lint-staged",
    "husky-inst": "npx husky install && chmod +x .husky/pre-commit .husky/commit-msg",
    "build": "node src/index",
    "deploy": "gh-pages -d build",
    "predeploy": "npm run build"
},

msg-commit

  • Описание: скрипт, использующий commitlint, выполняется перед каждым коммитом для проверки корректности сообщений о коммитах.
  • Как использовать: npm run msg-commit
  • Результат: проверка и валидация сообщения о коммите согласно установленным стандартам.

pre-commit

  • Описание: скрипт, использующий lint-staged, запускается перед каждым коммитом для автоматической проверки и форматирования измененных файлов.
  • Как использовать: npm run pre-commit
  • Результат: проверка и форматирование измененных файлов перед коммитом.

husky-inst

  • Описание: скрипт устанавливает и конфигурирует husky, инструмент для управления хуками Git, такими как pre-commit и commit-msg.
  • Как использовать: npm run husky-inst
  • Результат: установка и настройка хуков Git для предварительной проверки коммитов.

build

  • Описание: скрипт для сборки проекта, запускает индексный файл (src/index) для создания необходимых файлов и структуры проекта.
  • Как использовать: npm run build
  • Результат: сборка проекта, создание необходимых файлов для дальнейшего развертывания.

deploy

  • Описание: скрипт для развертывания проекта на GitHub Pages, используя gh-pages.
  • Как использовать: npm run deploy
  • Результат: развертывание проекта на GitHub Pages из директории build.

predeploy

  • Описание: скрипт, выполняющий предварительные действия перед развертыванием, в данном случае, выполняет сборку проекта.
  • Как использовать: npm run predeploy
  • Результат: выполнение предварительных действий перед развертыванием, в данном случае, сборка проекта.

Реализованный функционал скрипта:

  1. Процесс сбора и организации данных: скрипт проходит по папкам с модулями, где хранятся файлы в формате Markdown с уроками, а также файл index.json с дополнительной информацией. Данный скрипт собирает информацию об уроках, присваивает каждому модулю и уроку уникальный идентификатор (UUID), и создает файл index.json в папке build, содержащий структурированные данные об уроках и модулях.
  2. Уникальные идентификаторы для уроков и модулей: каждому модулю и уроку присваивается уникальный идентификатор (UUID), обеспечивая уникальность данных и предотвращая конфликты в структуре.
  3. Подготовка статических данных для сайта: скрипт копирует данные модулей и уроков в папку build, присваивая каждому элементу уникальный UUID. Эти статические файлы, вместе с index.json, используются сайтом для предоставления информации о курсе и его уроках.

Редактироание скрипта

Для обеспечения удобства редактирования и интеграции в различные проекты, скрипт включает модульность, где основные переменные вынесены в отдельный файл src/utils/constants.mjs. Это делает проект гибким и легко настраиваемым под разные требования. Давайте рассмотрим ключевые переменные:

// src/utils/constants.mjs

// Корневая директория проекта
export const projectRootDirectory = '.';

// Директории
export const buildDirectory = path.join(projectRootDirectory, 'build');
export const workDirectory = path.join(projectRootDirectory, 'src/data');
export const assetsDirectory = 'images';

// Имена файлов
export const buildFileName = 'index.json';
export const additionalInfoFileName = 'index.json';

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

  1. Модульность:
    • Переменные вынесены в отдельный файл constants.mjs, обеспечивая удобство и чистоту кода.
    • Модульность позволяет легко интегрировать этот файл в другие проекты, обеспечивая повторное использование кода.
  2. Легкость редактирования:
    • Все основные параметры (корневая директория, директории, имена файлов) сосредоточены в одном месте.
    • Изменения в этих параметрах могут быть произведены легко и безопасно, не затрагивая основной код.
  3. Интеграция в другие проекты:
    • Модульность делает этот скрипт легко интегрируемым в другие проекты, где может потребоваться схожая функциональность.
    • Компоненты скрипта могут быть использованы в других контекстах, улучшая эффективность разработки.
  4. Гибкость и настраиваемость:
    • Переменные в constants.mjs предоставляют возможность быстро адаптировать скрипт к различным требованиям и структурам проектов.
    • Легкость редактирования и гибкость делают этот скрипт универсальным и применимым в различных сценариях.

Такая архитектура позволяет легко поддерживать и расширять функциональность скрипта, что делает его привлекательным решением для интеграции в разнообразные проекты.

Технологии

1. Node.js

Node.js является основным языком программирования для серверной части проекта. Эта среда выполнения JavaScript обеспечивает высокую производительность и масштабируемость при создании серверных приложений. С его помощью проект может эффективно обрабатывать запросы, взаимодействовать с файловой системой и выполнять другие серверные задачи.

2. Markdown

Формат Markdown используется для хранения информации об уроках в проекте. Этот легкий и удобочитаемый язык разметки позволяет создавать структурированный контент с минимумом усилий. Markdown обеспечивает простоту редактирования текста и легкость восприятия, что делает его отличным выбором для создания материалов курса.

3. ESLint и Prettier

ESLint и Prettier - это линтеры, которые используются в проекте для поддержания высокого стандарта кодирования. ESLint проверяет исходный код на соответствие стандартам и стилю программирования, а Prettier автоматически форматирует код, делая его более читаемым и однородным. Вместе эти инструменты помогают поддерживать чистоту кода и облегчают соблюдение стандартов разработки.

4. Husky и Commitlint

Husky и Commitlint предоставляют систему для управления коммитами в проекте. Husky интегрируется с системой контроля версий Git и позволяет настраивать хуки (hooks), которые выполняются перед или после событий, таких как коммит. Commitlint вводит стандарты для написания сообщений о коммитах, что способствует единообразному и информативному стилю коммитов. Вместе эти инструменты помогают поддерживать четкую историю изменений и облегчают совместную разработку.

Заключение

Проект "Курс по Компас 3D" создан с целью предоставить студентам удобный и информативный ресурс для изучения программы. Скрипты обновления и технологии, используемые в проекте, обеспечивают легкость в управлении контентом и поддерживают актуальность материалов.