Skip to content

NotACat1/COMPASS-3D-courses

Repository files navigation

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" создан с целью предоставить студентам удобный и информативный ресурс для изучения программы. Скрипты обновления и технологии, используемые в проекте, обеспечивают легкость в управлении контентом и поддерживают актуальность материалов.

Releases

No releases published

Packages

No packages published