From cc0bdedd88023d31369dd13055f64184e5e94754 Mon Sep 17 00:00:00 2001 From: Mikhail Kilin Date: Tue, 17 Mar 2026 16:22:13 +0300 Subject: [PATCH] asdasd --- CLAUDE.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..5990337 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,70 @@ +# Blood Brain Barrier + +Веб-приложение для хранения текстовых записей. Пользователь вводит текст через textarea, сохраняет в PostgreSQL, просматривает список всех записей с возможностью удаления и копирования. + +## Стек + +- **Frontend:** React + TypeScript + Vite +- **Backend:** Rust (Axum + SQLx) +- **БД:** PostgreSQL +- **Async runtime:** Tokio + +## Структура проекта + +``` +blood-brain-barrier/ +├── frontend/ # React-приложение (Vite) +│ ├── src/ +│ │ ├── App.tsx # Основной компонент: textarea + список записей +│ │ ├── api.ts # Функции для запросов к API +│ │ └── main.tsx +│ └── package.json +├── backend/ # Rust API (Axum) +│ ├── src/ +│ │ ├── main.rs # Точка входа, подключение к БД, CORS, запуск сервера +│ │ ├── db.rs # Подключение к PostgreSQL, init_db +│ │ └── routes.rs # Хендлеры API +│ └── Cargo.toml +├── docker-compose.yml # PostgreSQL +└── CLAUDE.md +``` + +## База данных + +Одна таблица `entries`: + +```sql +CREATE TABLE entries ( + id SERIAL PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(), + content TEXT NOT NULL +); +``` + +## API + +| Метод | Путь | Описание | +|--------|------------------|-------------------------| +| GET | /api/entries | Получить все записи | +| POST | /api/entries | Создать запись | +| DELETE | /api/entries/:id | Удалить запись по id | +| GET | /api/entries/:id/content | Получить контент записи (plain text) | + +## Frontend + +- Сверху: большая `