Шаблон бэкенда

Шаблон бэкенда приложения Todo
REST API

Готовая к производству REST API Todo схема бэкенда и Стартовый комплект на Back4app: диаграмма ER, словарь данных, JSON-схема, API-площадка, примеры кода и однонажатийный AI Agent для развертывания за считанные минуты.

Обзор

Todo приложение — это одна из самых распространенных отправных точек для изучения разработки бэкенда. Внутри оно требует регистрации пользователей, CRUD задач, контроля доступа на основе владения и, опционально, синхронизации в реальном времени.

Схема ниже определяет два класса — _User (встроенный) и Todo — соединенные указателем. С помощью Back4app REST API SDK вы можете взаимодействовать с этим бэкендом из вашего приложения — запрашивать, создавать, обновлять и удалять объекты — без написания пользовательского API слоя.

er.heading

er.subtitle

erDiagram _User { String objectId PK String username String email String password Date createdAt Date updatedAt } Todo { String objectId PK String title Boolean done Date dueDate Number priority Pointer owner FK Date createdAt Date updatedAt } _User ||--o{ Todo : "owns"
Загрузка диаграммы…
Посмотреть источник диаграммы
erDiagram
    _User {
        String objectId PK
        String username
        String email
        String password
        Date createdAt
        Date updatedAt
    }

    Todo {
        String objectId PK
        String title
        Boolean done
        Date dueDate
        Number priority
        Pointer owner FK
        Date createdAt
        Date updatedAt
    }

    _User ||--o{ Todo : "owns"

Словарь данных

Полная справка по полям для каждого класса в схеме.

Todo

ПолеТипОписаниеОбязательно
objectIdStringAuto-generated unique identifierавто
titleStringShort description of the task
doneBooleanWhether the task is completed
dueDateDateOptional deadline for the task
priorityNumberPriority level (1 = high, 3 = low)
ownerPointer<_User>User who owns this task
createdAtDateAuto-generated creation timestampавто
updatedAtDateAuto-generated last-update timestampавто

_User

ПолеТипОписаниеОбязательно
objectIdStringAuto-generated unique identifierавто
usernameStringLogin username
emailStringEmail address
passwordStringHashed password (write-only)
createdAtDateAuto-generated creation timestampавто
updatedAtDateAuto-generated last-update timestampавто

Схема (JSON)

Сырая схема JSON — скопируйте и используйте в своем приложении Back4app или импортируйте через API.

{
  "classes": [
    {
      "className": "Todo",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "done": {
          "type": "Boolean",
          "required": false,
          "defaultValue": false
        },
        "dueDate": {
          "type": "Date",
          "required": false
        },
        "priority": {
          "type": "Number",
          "required": false,
          "defaultValue": 3
        },
        "owner": {
          "type": "Pointer",
          "targetClass": "_User",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "_User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Создать с помощью AI Agent

Нажмите кнопку ниже, чтобы открыть Агент с предзаполненной подсказкой этого шаблона.

AI Agent Back4app
Готовы к созданию
Создайте приложение Todo на Back4app с этой точной схемой и поведением.

Схема:
1. _User (используйте встроенный Back4app): имя пользователя (String, обязательно), электронная почта (String, обязательно), пароль (String, обязательно); objectId, createdAt, updatedAt (системные).
2. Todo: заголовок (String, обязательно), выполнено (Boolean, по умолчанию: false), срок выполнения (Date, необязательно), приоритет (Number, по умолчанию: 3; 1=высокий, 2=средний, 3=низкий), владелец (Указатель на _User; устанавливается на текущего пользователя при создании); objectId, createdAt, updatedAt (системные).

Безопасность:
- Установите ACL для каждого Todo, чтобы только владелец имел доступ на чтение и запись. Без публичного доступа на чтение/запись.
- При создании установите Todo.owner на текущего пользователя (например, через Cloud Code beforeSave или на стороне клиента).
- Используйте разрешения на уровне класса, чтобы только аутентифицированные пользователи могли создавать/читать/обновлять/удалять Todo.

Аутентификация:
- Регистрация (имя пользователя, электронная почта, пароль) и вход; поддержка выхода/сессии.
- После входа приложение должно показывать и разрешать CRUD только для Todo текущего пользователя.

Поведение:
- Полный CRUD для Todo: создать, список (только владельца), получить один, обновить (переключить выполнено, редактировать заголовок, срок выполнения, приоритет), удалить.
- Список Todo с сортировкой (например, по приоритету, затем по сроку выполнения или созданию). Приоритет по умолчанию для новых Todo: 3 (низкий).

Доставка:
- Создайте приложение Back4app с вышеуказанной схемой, ACL и любым необходимым Cloud Code (например, beforeSave на Todo для установки владельца).
- Сгенерируйте фронтенд и подключите его к этому бэкенду; разверните, чтобы приложение работало от начала до конца.

50 бесплатных запросов / месяцКредитная карта не требуется

API Playground

Попробуйте REST и GraphQL конечные точки для схемы Todo. Ответы из приведенных выше примерных данных — учетная запись Back4app не требуется.

GET
https://parseapi.back4app.com/classes/Todo
Заголовки
{
  "X-Parse-Application-Id": "YOUR_APP_ID",
  "X-Parse-REST-API-Key": "YOUR_REST_API_KEY"
}

usage.restApi.heading

usage.restApi.subtitle

1

usage.restApi.step1Title

usage.restApi.step1Body

# Required headers for every request
X-Parse-Application-Id: YOUR_APP_ID
X-Parse-REST-API-Key: YOUR_REST_API_KEY
2

usage.restApi.step2Title

curl -X POST \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Buy groceries","done":false,"priority":2}' \
  https://parseapi.back4app.com/classes/Todo
3

usage.restApi.step3Title

curl -X GET \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  https://parseapi.back4app.com/classes/Todo
4

usage.restApi.step4Title

curl -X PUT \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"done":true}' \
  https://parseapi.back4app.com/classes/Todo/OBJECT_ID
5

usage.restApi.step5Title

curl -X DELETE \
  -H "X-Parse-Application-Id: YOUR_APP_ID" \
  -H "X-Parse-REST-API-Key: YOUR_REST_API_KEY" \
  https://parseapi.back4app.com/classes/Todo/OBJECT_ID

Часто задаваемые вопросы

Распространенные вопросы о шаблоне бэкенда приложения Todo.

Что такое Back4app?

Back4app — это бэкенд для приложений Todo и задач. Для REST вы получаете четкие конечные точки GET/POST/PUT для Todo и аутентификацию X-Parse-Session-Token — никакого сервера для написания или хостинга.

Почему стоит использовать Back4app для Todo REST API?

Back4app предоставляет готовую к спецификации REST API для Todo: четкие конечные точки GET/POST/PUT/DELETE, аутентификация X-Parse-Session-Token и API-площадка. Он подходит для любого стека, который использует HTTP и хочет управляемый BaaS вместо кастомного бэкенда.

Что такое класс Todo в REST API?

Todo — это класс Back4app с полями title, done, dueDate, priority и owner (указатель на _User). Конечные точки REST: GET/POST /classes/Todo, GET/PUT/DELETE /classes/Todo/:id. Ответы включают objectId, createdAt, updatedAt.

Как отправить токен сессии в REST?

Включите заголовок X-Parse-Session-Token со значением, возвращаемым при входе. Сервер применяет ACL, поэтому возвращаются или изменяются только задачи владельца. Используйте этот заголовок в каждом аутентифицированном запросе.

Могу ли я добавить поля в Todo через REST API?

Да. POST или PUT JSON с новыми полями; гибкая схема Back4app принимает их. Добавьте поля из панели управления, если предпочитаете. Миграции не требуются.

Как мне запросить задачи по приоритету с помощью REST?

Используйте GET /classes/Todo?where={"priority":1}&order=priority. Параметр where поддерживает операторы сравнения ($lt, $gt и т.д.); order и -order управляют сортировкой. Используйте limit и skip для постраничной навигации.

Доступен ли реальный-time для REST-клиентов?

Live Queries используют WebSockets и доступны для обновлений в реальном времени. Для клиентов только REST опрашивайте конечную точку GET или используйте REST API для CRUD и отдельный механизм подписки, если это необходимо.

Как мне добавить категории или теги через REST?

Добавьте массив тегов или класс категории и связь. Отправьте новые поля в телах POST/PUT запросов. Запрашивайте с помощью where для фильтров.

Готовы создать свое приложение Todo?

Начните свой проект за считанные минуты — выберите технологию и следуйте руководству или позвольте ИИ-агенту создать его для вас. Кредитная карта не требуется.