.NET 템플릿

할 일 앱 백엔드 템플릿
.NET — 스키마, API 및 AI 가이드

생산 준비가 완료된 .NET 할 일 백엔드 스키마와 스타터 키트가 Back4app에 있습니다: ER 다이어그램, 데이터 사전, JSON 스키마, API 플레이그라운드, 코드 예제, 그리고 몇 분 안에 배포할 수 있는 원클릭 AI 에이전트 프롬프트.

주요 요점

이 페이지에서는 프로덕션 준비가 완료된 스키마, 원클릭 AI 프롬프트, 단계별 .NET 코드가 제공됩니다. 따라서 백엔드를 구축하지 않고도 Todo 앱을 배포할 수 있습니다.

  1. 몇 분 안에 배포하기AI 에이전트 프롬프트를 붙여넣고 프론트엔드, 백엔드 및 데이터베이스가 포함된 실행 중인 앱을 얻으세요.
  2. 기본적으로 보안행 수준 ACL은 각 사용자가 자신의 Todo만 볼 수 있도록 보장합니다.
  3. .NET-네이티브 SDK타입이 지정된 객체, async/await, 오프라인 핀 고정 및 Live Queries를 기본으로 제공합니다.
  4. REST + GraphQL두 API는 자동 생성되며, 사용자 정의 엔드포인트를 작성할 필요가 없습니다.
  5. 두 개의 클래스_User (내장 인증) 및 Todo (제목, 완료, 기한, 우선 순위, 소유자가 있는 작업).

.NET Todo 앱 백엔드 템플릿이란 무엇인가?

Back4app는 Todo 앱에 적합한 백엔드 서비스(BaaS)로, 관리되는 백엔드, 인증, 실시간 기능 및 13개 이상의 기술을 위한 SDK를 제공합니다. .NET Todo 앱 백엔드 템플릿Back4app에 호스팅된 미리 구축된 생산 준비 완료 백엔드 스키마입니다. 이 템플릿은 두 개의 데이터베이스 클래스(_UserTodo), 소유 기반 ACL, REST 및 GraphQL API, 그리고 원클릭 AI 에이전트 프롬프트를 제공하여 .NET 프론트엔드를 연결하고 며칠이 아닌 몇 분 안에 작동하는 Todo 앱을 배포할 수 있습니다.

최고의 용도:

앱 개발자신속한 프로토타이핑해커톤백엔드 개발 학습MVP 출시BaaS 대신 맞춤형 백엔드를 선택하는 팀

개요

Todo 앱은 백엔드 개발 학습을 위한 가장 일반적인 시작점 중 하나입니다. 내부적으로 사용자 등록, 작업 CRUD, 소유 기반 접근 제어 및 선택적으로 실시간 동기화가 필요합니다.

아래 스키마는 _User (내장) 및 Todo라는 두 클래스를 정의하며, 이들은 포인터로 연결되어 있습니다. Back4app .NET SDK를 사용하면 앱에서 이 백엔드와 상호작용할 수 있습니다 — 객체를 쿼리하고, 생성하고, 업데이트하고, 삭제하는 작업을 사용자 정의 API 레이어를 작성하지 않고도 수행할 수 있습니다.

왜 Back4app으로 .NET 할 일 백엔드를 구축해야 할까요?

Back4app은 준비된 백엔드와 타입이 지정된 SDK를 제공하므로 REST 연결 코드를 작성하거나 인증을 직접 관리하지 않고도 할 일 앱을 구축할 수 있습니다.

  • SDK 및 타입 안전성: SDK는 Todo와 User를 타입 안전하게 유지하고 JSON을 처리하므로 보일러플레이트 코드를 덜 작성할 수 있습니다.
  • 비동기 및 선택적 오프라인: async/await를 사용하세요; 지원되는 SDK는 로컬 핀닝을 제공하므로 목록이 오프라인에서도 작동하고 온라인으로 돌아올 때 동기화됩니다.
  • Live Queries: Todo 변경 사항을 구독하여 UI가 WebSockets를 통해 실시간으로 업데이트됩니다.

모든 스택에 대해 동일한 스키마와 API — 백엔드를 변경하지 않고 클라이언트를 나중에 전환할 수 있습니다.

핵심 이점

더 빠르게 배포할 수 있는 프로덕션 준비 완료 Todo 백엔드로 앱에 집중할 수 있습니다.

더 빠르게 배포, 백엔드 코드 없음

REST & GraphQL API와 즉시 사용할 수 있는 스키마 — 앱을 연결하고 시작하세요.

기본적으로 보안

ACL 및 클래스 수준 권한으로 사용자가 자신의 데이터만 액세스할 수 있습니다.

실시간 업데이트

WebSockets를 통한 Live Queries로 즉각적인 UI 업데이트를 제공합니다.

내장 인증

사용자 가입, 로그인 및 세션 처리를 기본 제공 — 맞춤 인증 계층이 필요 없습니다.

오프라인에서도 작동합니다.

로컬 핀닝은 데이터를 오프라인에서 사용할 수 있도록 유지하고, 재연결 시 동기화합니다.

몇 분 안에 배포

AI 에이전트를 사용하여 이 템플릿에서 Todo 앱을 생성하고 배포하세요.

시도해 볼 준비가 되셨나요?

Back4app AI 에이전트가 Todo 앱 백엔드를 생성하고, .NET 프론트엔드를 연결하며, 배포합니다 — 모두 단일 프롬프트에서.

무료 시작 — 월 50개의 AI 에이전트 프롬프트, 신용 카드 필요 없음

기술 스택

이 Todo 앱 템플릿을 지원하는 모든 것.

프론트엔드
.NET
백엔드
Back4app
데이터베이스
MongoDB
인증
인증 및 접근 제어
API
REST 및 GraphQL
배포
AI 에이전트 / 대시보드

ER 다이어그램

.NET 할 일 앱 데이터 모델에 대한 개체-관계 다이어그램입니다.

다이어그램 소스 보기
Mermaid
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"

통합 흐름

Auth-to-CRUD 시퀀스: 당신의 .NET 앱이 Back4app와 통신하는 방법 — 로그인 후, 할 일을 조회하고 생성합니다.

다이어그램 소스 보기
Mermaid
sequenceDiagram
  participant User
  participant App as .NET App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: ParseUser.LogInAsync(username, password)
  Back4app-->>App: Session token
  App-->>User: Logged in

  User->>App: Load todos
  App->>Back4app: ParseObject.GetQuery("Todo").FindAsync()
  Back4app-->>App: IEnumerable<ParseObject>
  App-->>User: Show list

  User->>App: Create todo
  App->>Back4app: todo.SaveAsync()
  Back4app-->>App: Todo (ObjectId)
  App-->>User: Updated list

데이터 사전

스키마의 모든 클래스에 대한 필드 참조 완전 목록입니다.

필드유형설명필수
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자동

8 필드가 Todo에 있습니다.

보안 및 권한

이 스키마에서 소유권, ACL 및 클래스 수준 권한이 데이터를 보호하는 방법.

행 수준 ACL

각 Todo는 소유자와 연결된 ACL을 가집니다. 오직 생성자만 자신의 작업을 읽고, 업데이트하고, 삭제할 수 있습니다.

클래스 수준 권한

CLP는 어떤 역할이나 사용자가 클래스 수준에서 객체를 생성, 읽기, 업데이트 또는 삭제할 수 있는지를 제한합니다 — 당신의 첫 번째 방어선입니다.

포인터 기반 소유권

소유자 포인터는 각 Todo를 해당 _User에 연결합니다. Cloud Code 트리거는 소유권을 자동으로 설정하고 저장 시 ACL을 적용할 수 있습니다.

스키마 (JSON)

원시 JSON 스키마 정의 — Back4app 앱에서 복사하여 사용하거나 API를 통해 가져오세요.

JSON
{
  "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 에이전트로 빌드하기

Back4app AI 에이전트를 사용하여 이 템플릿에서 실제 Todo 앱을 빌드하세요: 프론트엔드, 백엔드(이 스키마, 인증 및 API)를 생성하고 배포합니다 — 수동 설정이 필요 없습니다. 아래 프롬프트는 에이전트가 한 번에 프로덕션 준비가 완료된 앱을 생성할 수 있도록 이 Todo 스택을 설명합니다.

Back4app AI 에이전트
빌드할 준비가 되었습니다
이 정확한 스키마와 동작으로 Back4app에서 Todo 앱을 만드세요.

스키마:
1. _User ( Back4app 내장 사용): username (String, 필수), email (String, 필수), password (String, 필수); objectId, createdAt, updatedAt (시스템).
2. Todo: title (String, 필수), done (Boolean, 기본값: false), dueDate (Date, 선택적), priority (Number, 기본값: 3; 1=높음, 2=중간, 3=낮음), owner (현재 사용자로 설정된 _User에 대한 포인터); objectId, createdAt, updatedAt (시스템).

보안:
- 모든 Todo에 ACL을 설정하여 소유자만 읽고 쓸 수 있도록 합니다. 공개 읽기/쓰기는 없습니다.
- 생성 시 Todo.owner를 현재 사용자로 설정합니다 (예: Cloud Code beforeSave 또는 클라이언트 측을 통해).
- 클래스 수준 권한을 사용하여 인증된 사용자만 Todo를 생성/읽기/업데이트/삭제할 수 있도록 합니다.

인증:
- 회원가입 (username, email, password) 및 로그인; 로그아웃/세션 지원.
- 로그인 후, 앱은 현재 사용자의 Todo에 대한 CRUD만 표시하고 허용해야 합니다.

동작:
- Todo에 대한 전체 CRUD: 생성, 목록 (소유자만), 하나 가져오기, 업데이트 (done 전환, 제목, dueDate, priority 편집), 삭제.
- 우선순위 또는 createdAt에 따라 정렬하여 todos 목록을 표시합니다. 새 Todo의 기본 우선순위: 3 (낮음).

전달:
- 위의 스키마, ACL 및 필요한 Cloud Code (예: 소유자를 설정하기 위한 Todo의 beforeSave)를 사용하여 Back4app 앱을 만드세요.
- 프론트엔드를 생성하고 이를 백엔드에 연결하세요; 앱이 엔드 투 엔드로 실행 가능하도록 배포하세요.

아래 버튼을 눌러 이 템플릿의 프롬프트가 미리 채워진 상태로 에이전트를 엽니다.

몇 분 안에 배포한 달에 50개의 무료 프롬프트신용 카드 필요 없음

API 플레이그라운드

Todo 스키마에 대한 REST 및 GraphQL 엔드포인트를 사용해 보세요. 위의 예제 데이터에서 응답 — Back4app 계정이 필요하지 않습니다.

플레이그라운드 로딩 중…

이 템플릿과 동일한 Todo 스키마를 사용합니다.

단계별 .NET 통합

.NET 앱에서 Back4app 백엔드에 연결하고 Back4app .NET SDK를 사용하세요.

  1. 1단계: Back4app .NET SDK 설치

    스택에 맞는 Back4app SDK를 추가하세요 (예: npm, pubspec 또는 패키지 관리자).

    C#
    dotnet add package Parse
  2. 2단계: 앱에서 Back4app 초기화

    앱 시작 시 Back4app SDK를 App ID와 서버 URL로 초기화하세요.

    C#
    // Startup or Program.cs
    ParseClient.Initialize(new ParseClient.Configuration
    {
        ApplicationId = "YOUR_APP_ID",
        Server = "https://parseapi.back4app.com/",
        WindowsKey = "YOUR_WINDOWS_KEY" // or use Key for REST
    });
  3. 3단계: 모든 할 일 쿼리

    SDK를 사용하여 우선순위별로 정렬된 모든 Todo 객체를 가져옵니다.

    C#
    public static async Task<IEnumerable<ParseObject>> GetTodosAsync()
    {
        var query = ParseObject.GetQuery("Todo")
            .OrderBy("priority");
        return await query.FindAsync();
    }
  4. 4단계: 할 일 만들기

    제목, 완료 여부 및 우선순위를 가진 새로운 Todo를 생성한 후 저장하세요.

    C#
    public static async Task<ParseObject> CreateTodoAsync(string title, int priority = 3)
    {
        var todo = new ParseObject("Todo");
        todo["title"] = title;
        todo["done"] = false;
        todo["priority"] = priority;
        await todo.SaveAsync();
        return todo;
    }
  5. 5단계: 할 일 업데이트 및 삭제

    필드를 업데이트하고 저장하거나 객체를 삭제합니다.

    C#
    public static async Task MarkDoneAsync(string objectId)
    {
        var todo = await ParseObject.GetQuery("Todo").GetAsync(objectId);
        todo["done"] = true;
        await todo.SaveAsync();
    }
    
    public static async Task DeleteTodoAsync(string objectId)
    {
        var todo = await ParseObject.GetQuery("Todo").GetAsync(objectId);
        await todo.DeleteAsync();
    }

전체 데이터 모델

타입 안전 직렬화를 위한 전체 Todo 모델을 복사하세요(예: 클래스, 인터페이스 또는 타입 정의).

C#
// Todo.cs — matches Back4app schema
public class Todo
{
    public string? ObjectId { get; set; }
    public string Title { get; set; } = "";
    public bool Done { get; set; }
    public DateTime? DueDate { get; set; }
    public int Priority { get; set; } = 3;
    public ParseUser? Owner { get; set; }
    public DateTime? CreatedAt { get; set; }
    public DateTime? UpdatedAt { get; set; }

    public static Todo From(ParseObject obj) => new Todo
    {
        ObjectId = obj.ObjectId,
        Title = obj.Get<string>("title") ?? "",
        Done = obj.Get<bool>("done"),
        DueDate = obj.Get<DateTime?>("dueDate"),
        Priority = obj.Get<int>("priority"),
        Owner = obj.Get<ParseUser>("owner"),
        CreatedAt = obj.CreatedAt,
        UpdatedAt = obj.UpdatedAt
    };
}

자주 묻는 질문

Todo 앱 백엔드 템플릿에 대한 일반적인 질문입니다.

Back4app란 무엇인가요?
.NET Todo 앱에 Back4app를 사용하는 이유는 무엇인가요?
.NET Todo 앱의 Todo 클래스란 무엇인가요?
.NET SDK와 함께 소유권은 어떻게 작동하나요?
.NET에서 나중에 Todo에 필드를 추가할 수 있나요?
C#에서 우선 순위로 Todo를 쿼리하려면 어떻게 하나요?
.NET에 실시간 동기화가 가능합니까?
.NET에 카테고리나 태그를 추가하려면 어떻게 하나요?

전 세계 개발자들이 신뢰합니다

앱의 미래를 구축하는 커뮤니티에 참여하세요

G2 Users Love Us Badge

할 일 앱을 만들 준비가 되셨나요?

몇 분 안에 .NET 프로젝트를 시작하세요. 신용 카드가 필요하지 않습니다.

AI 에이전트와 함께 구축하기