team-work-it-CozyWool
Graph Analysis System — README
👥 Участники проекта
- Student 1 (Specification Engineer) — GitVerse: CozyWool
- Student 2 (Developer) — GitVerse: gleb1
- Student 3 (Code Reviewer) — GitVerse: h4n
🧩 Описание проекта
Проект представляет собой учебную командную разработку, моделирующую реальную работу в небольшом инженерном коллективе. Каждый студент выполняет свою роль:
- Student 1 — подготовка системной спецификации
- Student 2 — реализация функционального кода
- Student 3 — проведение code review и оформление замечаний
В итоге была создана полноценная C# консольная система анализа графов, включающая обходы, поиск путей, определение компонент связности и анализ топологии.
🤖 Используемые модели ИИ
Проект выполнялся в гибридном режиме при участии нескольких моделей ChatGPT:
🔹 ChatGPT 5.1
Использовался для:
- генерации спецификации (Student 1)
- генерации и корректировки кода (Student 2)
- проведения профессионального code review (Student 3)
🔹 Стек моделей
- OpenAI GPT-5.1 — основная модель для разработки кода
- OpenAI GPT-4o — вспомогательная при уточняющих заданиях (если применялось)
- Cursor IDE AI — при разработке и автодополнении (если использовалось в процессе)
(Уточните и добавьте любые другие модели, которые использовали.)
🧠 Краткое описание функциональности кода
Реализованная система предоставляет удобный CLI-интерфейс для работы с неориентированным графом, моделирующим карту городов.
🔹 Основные возможности:
-
Добавление / удаление городов
-
Создание и удаление маршрутов между ними
-
Обход графа:
- DFS (Depth-First Search)
- BFS (Breadth-First Search)
-
Поиск связных компонент (рекурсивный обход)
-
Определение циклов в графе
-
Поиск кратчайшего пути (по количеству рёбер)
-
Вывод статистики графа
-
Текстовая визуализация графа
🔹 Формат данных
Граф представлен через adjacency list:
Dictionary<string, List<(string neighbor, int distance)>>
🔹 Команды CLI
add city <name>
remove city <name>
connect <c1> <c2> <distance>
remove edge <c1> <c2>
path <c1> <c2>
components
dfs <city>
bfs <city>
cycle
stats
show graph
help
exit
📁 Структура репозитория
Рекомендуемая структура проекта:
/ (корень)
│
├── README.md # Описание проекта
├── spec/
│ └── codex.md # Полная спецификация от Student 1
├── dev/
│ └── solution.cs # Полная реализация от Student 2
└── demo/
└── program_proof.txt # Примеры входных данных
(Если структура отличается — адаптируйте описание под вашу.)
🛠 Как запускать проект
1. Скомпилировать
dotnet build
2. Запустить
dotnet run
⭐ Итоги
Проект успешно демонстрирует навыки:
- командной разработки;
- написания спецификаций;
- реализации алгоритмов графов;
- проведения code review;
- документирования и анализа архитектуры.