# 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 - Сверху: большая `