101 lines
5.4 KiB
Markdown
101 lines
5.4 KiB
Markdown
# 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).
|