Шаблон развернут, связка работает. Сейчас ваше приложение — это пустой склад. Чтобы запустить стартап, нужно завезти туда товары и научиться ими управлять. В Convex за это отвечает Dashboard.
Где живут данные: Dashboard и NoSQL
Dashboard — это ваш пульт управления проектом. Здесь вы видите всё, что происходит «под капотом»: пользователей, заказы и настройки.
Convex использует подход NoSQL. Забудьте о сложных таблицах из Excel с сотнями связей. Здесь данные хранятся как простые объекты — гибко и наглядно.
Основные понятия:
- Таблица — категория данных (например,
usersилиorders). - Документ — одна запись в таблице. Если таблица — это список контактов, то документ — это карточка одного человека.
Как устроен Документ
Данные в Convex выглядят как обычный список свойств.
Пример документа в таблице tasks:
{
"text": "Запустить MVP",
"isCompleted": false,
"priority": 1
}
Важно: Convex сам присваивает каждому документу уникальный ID и время создания. Вам не нужно об этом заботиться.
Схема данных: страховка от ошибок
В NoSQL можно записывать что угодно, но для бизнеса это риск. Если вместо цены в базу попадет текст, приложение «упадет».
Чтобы этого избежать, мы создаем Схему данных. Это файл convex/schema.ts, который диктует базе правила игры. Он проверяет, чтобы в нужных полях лежали правильные типы данных.
| Тип данных | Что это | Пример |
|---|---|---|
v.string() | Текст | "Купить домен" |
v.boolean() | Да/Нет | true |
v.number() | Число | 500 |
v.id("name") | Ссылка на другой документ | id_abc123... |
Пример «здоровой» схемы
Вы описываете правила один раз, и Convex следит за их соблюдением. Если вы ошибетесь в названии поля или типе данных, система подсветит ошибку еще до того, как вы запустите код.
import { defineSchema, defineTable } from "convex/server";
import { v } from "convex/values";
export default defineSchema({
tasks: defineTable({
text: v.string(),
isCompleted: v.boolean(),
}),
});
Практика: создаем первую таблицу
Почувствуйте себя архитектором данных:
- Зайдите в свой Dashboard на сайте Convex.
- Нажмите "Add Table" и назовите её
messages. - Внутри таблицы нажмите "Add Document".
- Добавьте поле
author(ваше имя) иcontent(любой текст).
Пока файл schema.ts пуст, Convex разрешает любые поля. Но как только вы пропишете схему в коде, Dashboard превратится в строгого контролера, который не допустит хаоса в данных.
Почему это критично для MVP
Скорость — главное преимущество стартапа. Convex позволяет:
- Видеть всё: вы наблюдаете за данными пользователей в реальном времени.
- Меняться быстро: структура базы правится за секунды.
- Избегать багов: схема данных отсекает 50% типичных ошибок бэкенда.
Мы создали «память» приложения. В следующем уроке научим стартап общаться с пользователем: напишем функции, которые будут мгновенно обновлять ваш сайт при любом изменении в базе. 🚀