/process_modeling

Primary LanguageTypeScriptMIT LicenseMIT

Моделирование процессов

Что это?

  • репозиторий для моделирования процессов разработки ПО
  • Проект инструмента моделирования
  • Разбор книг, текстов, докладов про моделирование
  • реальные данные для анализа задач/кода
  • скрипты парсера данных

Что тут есть?

  • тут портативный рисователь нейросхем freeplane, потомок почившего freemind, версия 1.11.1
    • рисователь мнемосхем пропатчен, увеличена память для экспорта картинок JAVA_OPTS="-Xmx1000g $JAVA_OPTS"
  • тут скрипты для плагина vscode humao.rest-client
  • тут подробная документация и аналитика
  • тут bash скрипты с ENV VARIABLES и токенами для cloud api
  • тут нейросхемы, сырые данные(архивы, csv, таблицы excel)
  • тут исходники парсера
  • тут промежуточные данные: JSON, CSV файлы парсера и скриптов загрузки из cloud API
  • тут выходные данные CSV парсера
  • тут выходные JSON данные парсера для web UI

Для кого?

  • тимлидов, разработчиков, аналитиков, любителей разобраться в качестве процессов/проектов

Как пользоваться?

  • нейросхемы смотреть через freeplane, он кроссплатформенный на java
  • md смотреть любым текстовым редактором или через IDE
  • CHANGELOG

настройка проекта

  • клонируем репу
     	git clone https://github.com/bskydive/process_modeling.git
     	cd process_modeling
  • ставим node version manager либо nodejs вручную
  • ставим пакеты
     	nvm i 20
     	npm i

исходные данные

  • данные vscode github repo
  • отладка API запросов к репе
  • загрузка данных с нуля
    	mv ./tokens/.gh-api-token.sh.empty ./tokens/.gh-api-token.sh	#переименовать скрипт
    	bash ./src/scripts/download-issues.vscode.api.github.sh			# загрузить данные ISSUES
    	bash ./src/scripts/download-pulls.vscode.api.github.sh			# загрузить данные PULLS
    	bash ./src/scripts/download-commits.vscode.api.github.sh		# загрузить данные COMMITS
    	bash ./src/scripts/validation.vscode.api.github.sh				# проверить количество данных
  • подготовка данных без загрузки
    	tar -xf ./assets/vscode.github/pulls.responses.tar.gz -C ./log/
    	tar -xf ./assets/vscode.github/issues.responses.tar.gz -C ./log/
    	tar -xf ./assets/vscode.github/commits.responses.tar.gz -C ./log/

обработка данных

  • подготавливаем данные - см. варианты выше
  • запуск парсера
    	npm run parse
    
    	# вывод парсера
    	# parsed issues:  7110 parsed pulls:  21183 parsed commits:  110168
    	# write:  ./log/csv/curl-vscode-ISSUES-2023-06-21T15:48:30.224Z-PARSED.csv 955429
    	# write:  ./log/csv/curl-vscode-PULLS-2023-06-21T15:48:30.224Z-PARSED.csv 3654447
    	# write:  ./log/csv/curl-vscode-COMMITS-2023-06-21T15:48:30.224Z-PARSED.csv 23634225
    	# write:  ./src/graph/data/issues-closed.vscode.json 7110
    	# write:  ./src/graph/data/pulls-closed.vscode.json 21183
    	# write:  ./src/graph/data/commits.vscode.json 110168
  • смотрим в файлы - см. пути выше
  • запуск UI
    	npm run start
  • открываем в браузере http://127.0.0.1:8080

дополнительные инструменты

лучи добра великим предкам

TODO

  • см
    • график ротации команд
    • график отпусков
  • сделать парсер и визуализатор данных о процессах
    • проверить работу отладчика nodejs
    • проверить развёртывание с нуля
    • запилить кучу графиков
    • JSON.parse: remove unusual line terminators
    • фильтрация данных
    • красота
  • сделать движок моделирования
    • модель модели данных
    • конфигуратор алгоритма модели
      • графы
      • парсер yEd
    • машина состояний
    • логирование
    • отладка состояний
    • парсер выходных данных
  • подключить движок моделирования к визуализатору
    • парсер входных данных
  • сделать режим обратного проектирования
    • угадываем параметры модели по выходным данным
  • добавить ещё больше парсеров входных данных
    • JIRA
    • gitlab
    • bitbucket
    • git
    • bash
    • eslint

Как связаться с автором?