Files
Test-assignment--Fullstack-dev/README.md
T
2026-11-13 18:48:00 +03:00

101 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI-заметки
Создавайте, редактируйте и удаляйте заметки. По кнопке «Сгенерировать» Groq выводит краткое резюме по мере генерации, затем добавляет три тега. Заметки и результаты хранятся в SQLite.
## Запуск на Windows
Понадобятся Python 3.11+ и Node.js 22.12+ с npm.
### Вариант 1. Через `start.cmd`
1. Распакуйте архив проекта.
2. Дважды щёлкните по файлу `start.cmd` в папке проекта. При первом запуске дождитесь установки зависимостей и сборки интерфейса.
3. Откройте [127.0.0.1:8000](http://127.0.0.1:8000/) в браузере. Оставьте окно запуска открытым, пока пользуетесь приложением.
Чтобы остановить приложение, нажмите Ctrl+C в окне запуска. Если порт 8000 занят, откройте PowerShell в папке проекта, выполните `.\start.cmd --port 8001` и перейдите на [127.0.0.1:8001](http://127.0.0.1:8001/).
### Вариант 2. Пошагово через PowerShell
1. Откройте PowerShell в папке проекта. Создайте `.env` из шаблона, если файла ещё нет.
```powershell
if (-not (Test-Path .env)) { Copy-Item .env.example .env }
```
2. В том же окне установите зависимости Python и запустите FastAPI.
```powershell
cd backend
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m uvicorn app.main:app --env-file ../.env --port 8000
```
3. Откройте второе окно PowerShell в папке проекта. Установите зависимости и запустите React.
```powershell
cd frontend
npm.cmd ci
npm.cmd run dev
```
4. Откройте [localhost:5173](http://localhost:5173/). Если Vite выбрал другой порт, используйте адрес из вывода второго терминала. Для остановки нажмите Ctrl+C в обоих окнах.
## Ключ Groq
Откройте `.env` в корне проекта и впишите свой ключ после `GROQ_API_KEY=`. Если приложение уже запущено, перезапустите его, чтобы подхватить ключ. Создавать и удалять заметки можно и с пустым ключом. [Получить ключ Groq](https://console.groq.com/keys)
## Проверка
1. Введите заголовок и текст, затем нажмите «Сохранить заметку».
2. Нажмите «Сгенерировать» и дождитесь резюме и трёх тегов. Обновите страницу, чтобы проверить сохранение.
3. Нажмите на заголовок или текст сохранённой заметки, внесите правку и нажмите «Сохранить изменения». После правки резюме и теги можно сгенерировать заново.
4. Выберите «Удалить» рядом с заметкой в боковом меню и подтвердите действие.
Если в тексте нет понятной темы, факта или задачи, приложение предложит дополнить заметку. Для короткой записи вроде «Купить молоко» резюме и теги по-прежнему доступны.
База данных создаётся в `backend/data/notes.sqlite3`.
## Запуск на Linux и macOS
Понадобятся Python 3.11+ с модулем `venv` и Node.js 22.12+ с npm.
### Вариант 1. Одной командой
В терминале из папки проекта выполните:
```sh
python3 start.py
```
Скрипт создаст `.env`, если его ещё нет, установит зависимости и соберёт интерфейс. Откройте [127.0.0.1:8000](http://127.0.0.1:8000/). Для остановки нажмите Ctrl+C.
### Вариант 2. Пошагово
1. В терминале из папки проекта создайте `.env` из шаблона, если файла ещё нет.
```sh
test -f .env || cp .env.example .env
```
2. В том же терминале установите зависимости Python и запустите FastAPI.
```sh
cd backend
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python -m uvicorn app.main:app --env-file ../.env --port 8000
```
3. Во втором терминале из папки проекта запустите React.
```sh
cd frontend
npm ci
npm run dev
```
4. Откройте [localhost:5173](http://localhost:5173/) или адрес из вывода Vite. Для остановки нажмите Ctrl+C в обоих терминалах.
Для генерации резюме настройте `.env` по инструкции в разделе [«Ключ Groq»](#ключ-groq).