53 lines
3.2 KiB
Markdown
53 lines
3.2 KiB
Markdown
# Задание: 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 и т.д.), но:
|
||
|
||
- Если ИИ предложил решение, которое не работает — нужно зафиксировать промпт, после которого ИИ выдал ошибку.
|
||
|
||
- **Отчет:** в отчет не надо включать всю переписку с ИИ, только ошибки. |