# Задание: Team Status Board ## 1. Концепция Создать внутренний инструмент управления статусами команды. Приложение представляет собой «админ-панель», где можно видеть всех сотрудников, менять их статус в реальном времени и управлять списком (добавлять/удалять). ## 2. Функциональные требования (CRUD) Приложение должно реализовывать следующие операции: - **Чтение:** Получение списка всех сотрудников. - **Создание:** Форма добавления нового сотрудника (имя, должность). - **Обновление:** Возможность переключить статус (например: "Online" -> "На встрече" -> "Offline"). - **Удаление:** Возможность удалить сотрудника из списка. - **Динамика:** При изменении статуса страница не должна перезагружаться (использование `fetch` / `axios` на фронтенде). ## 3. Стек и инструменты - **Бэкенд:** Python (FastAPI). - **Фронтенд:** React или Vue.js. - **База данных:** SQLite (через SQLAlchemy или встроенные библиотеки). - **Окружение:** WSL2 (Linux). - **Система контроля версий:** Git (Gitea: https://gitea.shaiheprjct.ru/, или свой github, но сделать проект открытым). - **Автоматизация:** Обязательный файл `start.sh` в корне репозитория. ## 4. Автозапуск и git Твоя работа должна быть зафиксирована в репозитории на Gitea. - **Git-гигиена:** * Используй `.gitignore`. **Запрещено** коммитить `node_modules/`, `venv/`, `__pycache__/`, файлы базы данных `.db`, `.env` файлы. - Коммиты должны быть атомарными (один коммит = одно законченное изменение/фича). - **Автоматизация (`start.sh`):** Твой скрипт должен «поднимать» проект с нуля. Преподаватель (я) должен сделать только `git clone` и `./start.sh`. - Скрипт должен проверять наличие `venv`, устанавливать зависимости (`pip`, `npm`), и запускать оба процесса (бэк + фронт). ## 5. AI Ты можешь использовать любые LLM (ChatGPT, Claude, Cursor и т.д.), но: - Если ИИ предложил решение, которое не работает — нужно зафиксировать промпт, после которого ИИ выдал ошибку. - **Отчет:** в отчет не надо включать всю переписку с ИИ, только ошибки.