해커톤 포털
AI 에이전트로 구축
해커톤 프로젝트 포털 백엔드

해커톤 프로젝트 포털 백엔드 템플릿
팀 구성, 프로젝트 제출 및 심사 점수

생산 준비가 완료된 해커톤 프로젝트 포털 백엔드 on Back4app για 사용자 로그인, 팀 구성, 프로젝트 제출 추적 및 심사 점수 검토. ER 다이어그램, 데이터 사전, JSON 스키마, API 플레이그라운드 및 빠른 설정을 위한 AI 에이전트 프롬프트를 포함합니다.

포털 요약

이 템플릿은 주최자가 모든 프로젝트를 하나의 작업 공간에서 관리할 수 있도록 사용자 계정, 팀 구성, 프로젝트 제출 추적 및 심사 점수를 검토하기 위한 해커톤 프로젝트 포털 백엔드를 제공합니다.

  1. 사용자 및 역할 추적주최자, 참가자, 심사위원 및 멘토를 위한 사용자 이름, 이메일, 역할 및 표시 이름을 추적합니다.
  2. 하나의 모델로 팀 구성쿼리 가능한 Parse 클래스로 Team.teamName, Team.track, Team.status, Team.captain, Team.members 및 Team.maxMembers를 추적합니다.
  3. 제출 워크플로우ProjectSubmission.projectTitle, repositoryUrl, demoUrl, 제출 상태 및 제출 날짜 필드를 저장합니다.
  4. 판별 점수 캡처각 제출물에 대한 JudgingScore.criteria, 점수, 코멘트, 심사자 및 심사일자를 기록합니다.

해커톤 프로젝트 포털 템플릿은 무엇인가요?

클라이언트는 해커톤 프로젝트 포털에서 능동적인 업데이트를 기대하며, 이는 사건 상태, 문서 및 다음 단계가 하나의 시스템에 있을 때만 현실적입니다. 팀은 아침 스탠드업에서 처음 이를 느낍니다. 이 템플릿은 Back4app에서 역할 기반 액세스를 통해 Team, ProjectSubmission 및 JudgingScore를 모델링하므로 모든 해커톤 프로젝트 포털 팀원은 자신이 소유한 파이프라인의 일부를 볼 수 있습니다. 스키마는 User(사용자 이름, 이메일, 역할, 표시 이름), Team(팀 이름, 트랙, 상태, 캡틴, 구성원, 최대 구성원 수), ProjectSubmission(프로젝트 제목, 프로젝트 요약, 리포지토리 URL, 데모 URL, 팀, 제출자, 제출 상태, 챌린지 트랙, 제출 일자), JudgingScore(제출, 심사자, 기준, 점수, 코멘트, 심사일자)로 구성되며 인증 및 역할 기반 액세스가 내장되어 있습니다. 선호하는 프론트엔드를 연결하고 더 빨리 시작하세요.

최고의 용도:

해커톤 이벤트 포털팀 구성 워크플로우프로젝트 제출 대시보드심사 및 평가 시스템조직자 관리자 도구다중 역할 협업 앱

이 해커톤 프로젝트 포털 백엔드가 조직되는 방식

해커톤 프로젝트 포털 품질은 지연 지표이며, 선행 지표는 최전선 업데이트가 같은 날 보고에 반영되는지 여부입니다.

허브는 팀, 프로젝트 제출 및 JudgingScore 언어를 일관되게 유지하여 제품, 운영 및 엔지니어링이 “기록”이라고 말할 때 같은 의미가 되도록 합니다.

포털 기능

이 허브의 모든 기술 카드는 User, Team, ProjectSubmission 및 JudgingScore와 동일한 포털 스키마를 사용합니다.

계정 및 역할 설정

사용자는 포털 접근을 위해 사용자 이름, 이메일, 역할 및 표시 이름을 저장합니다.

팀 구성

팀은 팀장, 구성원 배열, 트랙, 상태 및 최대 구성원을 연결합니다.

프로젝트 제출 세부정보

ProjectSubmission은 projectTitle, projectSummary, repositoryUrl, demoUrl 및 challengeTrack을 저장합니다.

제출 워크플로우

ProjectSubmission은 팀, 제출자, 제출 상태 및 제출 시간을 추적합니다.

심사 및 점수 매기기

JudgingScore는 제출물, 심사위원, 기준, 점수, 코멘트 및 심사 시간을 유지합니다.

왜 Back4app가 해커톤 프로젝트 포털에 적합한가

Back4app는 해커톤에 필요한 포털 기본 요소를 제공하므로 팀이 인프라 작업 대신 등록, 제출 처리 및 점수 검토에 집중할 수 있습니다.

  • 사용자, 팀, 프로젝트 제출 및 심사 점수 클래스: 이벤트, 팀 멤버십, 프로젝트 세부정보 및 심사 점수를 전용 Parse 클래스에서 처음부터 모델링하세요.
  • 제출 및 점수 추적: ProjectSubmission.repositoryUrl, demoUrl, submittedAt 및 JudgingScore.criteria, score 및 comments를 나중에 스키마를 임의로 변경하지 않고 저장하세요.
  • 실시간 심사 가시성: 심사 점수 업데이트를 위해 Live Queries를 사용하고 REST 및 GraphQL를 심사자 및 조직자에게 계속 제공합니다.

웹 및 모바일에서 하나의 백엔드 계약으로 등록, 제출 및 심사를 실행하세요.

포털 혜택

경쟁이 진행되는 동안 이벤트 운영을 조직적으로 유지하는 해커톤 포털 백엔드입니다.

더 빠른 이벤트 시작

등록 테이블을 제로에서 디자인하는 대신 사용자 및 팀 클래스를 사용하는 것으로 시작하십시오.

명확한 제출 추적

ProjectSubmission의 submittedAt, demoUrl 및 submissionStatus 필드를 사용하여 각 프로젝트 항목을 추적합니다.

심사 준비가 완료된 채점 기록

심사 점수 항목을 ProjectSubmission 및 심사관에 연결하여 리뷰가 감사 가능하도록 유지합니다.

역할 인지 액세스 흐름

ACL 및 CLP 규칙으로 운영자, 심사위원, 멘토 및 참가자의 행동을 보호합니다.

쿼리할 수 있는 이벤트 데이터

대시보드와 리더보드를 위한 사용자, 팀, 프로젝트 제출 및 심사 점수 객체를 한 곳에 저장하세요.

AI 지원 설정

하나의 구조화된 프롬프트로 백엔드 스캐폴드 및 통합 노트를 생성하세요.

해커톤 포털을 시작할 준비가 되셨나요?

Back4app AI 에이전트가 해커톤 프로젝트 포털 백엔드를 스캐폴드하고 하나의 프롬프트에서 사용자, 팀, 프로젝트 제출 및 심사 점수 흐름을 생성하게 하세요.

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

포털 기술 스택

이 해커톤 프로젝트 포털 백엔드 템플릿에 모든 것이 포함됩니다.

프론트엔드
13개 이상의 기술
백엔드
Back4app
데이터베이스
__브랜드0__
인증
내장 인증 + 세션
API
REST와 __브랜드0__
실시간
__브랜드0__

포털 엔티티 맵

해커톤 프로젝트 포털 스키마를 위한 엔티티 관계 모델입니다.

다이어그램 소스 보기
Mermaid
erDiagram
    User ||--o{ Team : "captain"
    User }o--o{ Team : "members"
    User ||--o{ ProjectSubmission : "submittedBy"
    User ||--o{ JudgingScore : "judge"
    Team ||--o{ ProjectSubmission : "team"
    ProjectSubmission ||--o{ JudgingScore : "submission"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String displayName
        Date createdAt
        Date updatedAt
    }

    Team {
        String objectId PK
        String teamName
        String track
        String status
        String captainId FK
        Array members
        Number maxMembers
        Date createdAt
        Date updatedAt
    }

    ProjectSubmission {
        String objectId PK
        String projectTitle
        String projectSummary
        String repositoryUrl
        String demoUrl
        String teamId FK
        String submittedById FK
        String submissionStatus
        String challengeTrack
        Date submittedAt
        Date createdAt
        Date updatedAt
    }

    JudgingScore {
        String objectId PK
        String submissionId FK
        String judgeId FK
        String criteria
        Number score
        String comments
        Date judgedAt
        Date createdAt
        Date updatedAt
    }

포털 통합 흐름

로그인, 팀 보드 조회, 프로젝트 제출, 점수 입력 및 실시간 업데이트에 대한 전형적인 런타임 흐름입니다.

다이어그램 소스 보기
Mermaid
sequenceDiagram
  participant User
  participant App as Hackathon Project Portal App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to the hackathon workspace
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Browse team formation board
  App->>Back4app: GET /classes/Team?include=captain
  Back4app-->>App: Teams and member lists

  User->>App: Create or update a project submission
  App->>Back4app: POST or PUT /classes/ProjectSubmission
  Back4app-->>App: Submission saved

  Judge->>App: Review a project and enter scores
  App->>Back4app: POST /classes/JudgingScore
  Back4app-->>App: Score stored

  App->>Back4app: Live query project updates and score changes
  Back4app-->>App: Realtime portal events

필드 사전

해커톤 포털 스키마의 모든 클래스에 대한 전체 필드 수준 참조입니다.

필드유형설명필수
objectIdStringAuto-generated unique identifier자동
usernameStringLogin name for a portal account
emailStringEmail address used for team invites and judging notifications
passwordStringHashed password (write-only)
roleStringPortal role such as organizer, participant, judge, or mentor
displayNameStringName shown inside teams, submissions, and score review
createdAtDateAuto-generated creation timestamp자동
updatedAtDateAuto-generated last-update timestamp자동

8 필드가 User에 있습니다.

포털 액세스 규칙

ACL 및 CLP 전략이 사용자, 팀, 프로젝트 제출 및 평가 점수 데이터를 어떻게 보호하는지.

참여자 소유권 규칙

팀장 또는 조직자만 팀 멤버십, 프로젝트 세부사항 또는 제출 상태를 업데이트해야 합니다.

심사 채점 경계

심사는 배정된 제출물에 대해 JudgingScore 기록을 생성할 수 있으며, 오직 주최자만이 이벤트 수준 규칙을 재정의할 수 있습니다.

범위 지정된 이벤트 가시성

사용자, 팀 및 프로젝트 제출 데이터에 필요한 역할에 액세스할 수 있도록 하고, 비공식 메모 또는 조정 필드는 제한합니다.

JSON 스키마

복사하여 Back4app에 넣거나 구현 참조로 사용할 수 있는 원시 JSON 스키마 정의입니다.

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "displayName": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Team",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "teamName": {
          "type": "String",
          "required": true
        },
        "track": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "captain": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "members": {
          "type": "Array",
          "required": true,
          "targetClass": "User"
        },
        "maxMembers": {
          "type": "Number",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "ProjectSubmission",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "projectTitle": {
          "type": "String",
          "required": true
        },
        "projectSummary": {
          "type": "String",
          "required": true
        },
        "repositoryUrl": {
          "type": "String",
          "required": true
        },
        "demoUrl": {
          "type": "String",
          "required": false
        },
        "team": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Team"
        },
        "submittedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "submissionStatus": {
          "type": "String",
          "required": true
        },
        "challengeTrack": {
          "type": "String",
          "required": true
        },
        "submittedAt": {
          "type": "Date",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "JudgingScore",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "submission": {
          "type": "Pointer",
          "required": true,
          "targetClass": "ProjectSubmission"
        },
        "judge": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "criteria": {
          "type": "String",
          "required": true
        },
        "score": {
          "type": "Number",
          "required": true
        },
        "comments": {
          "type": "String",
          "required": false
        },
        "judgedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

AI 에이전트로 구축

이 템플릿에서 실제 해커톤 프로젝트 포털 앱을 생성하기 위해 Back4app AI 에이전트를 사용하여 프론트엔드, 백엔드, 인증 및 사용자, 팀, 프로젝트 제출 및 JudgingScore 흐름을 포함하십시오.

Back4app AI 에이전트
빌드를 준비하세요
Back4app에서 이 정확한 스키마와 동작으로 보안 해커톤 프로젝트 포털 백엔드를 생성하세요.

스키마:
1. 사용자 ( Back4app 내장 사용): 사용자 이름, 이메일, 비밀번호, 역할, 표시 이름; objectId, createdAt, updatedAt (시스템).
2. 팀: 팀 이름 (문자열, 필수), 트랙 (문자열, 필수), 상태 (문자열, 필수), 캡틴 (사용자 포인터, 필수), 멤버 (사용자 포인터 배열, 필수), 최대 멤버 수 (숫자, 필수); objectId, createdAt, updatedAt (시스템).
3. 프로젝트 제출: 프로젝트 제목 (문자열, 필수), 프로젝트 요약 (문자열, 필수), 레포지토리 URL (문자열, 필수), 데모 URL (문자열, 선택 사항), 팀 (팀 포인터, 필수), 제출자 (사용자 포인터, 필수), 제출 상태 (문자열, 필수), 챌린지 트랙 (문자열, 필수), 제출일 (날짜, 선택 사항); objectId, createdAt, updatedAt (시스템).
4. 심사 점수: 제출물 (프로젝트 제출 포인터, 필수), 심사관 (사용자 포인터, 필수), 기준 (문자열, 필수), 점수 (숫자, 필수), 코멘트 (문자열, 선택 사항), 심사일 (날짜, 필수); objectId, createdAt, updatedAt (시스템).

보안:
- 참가자는 자신의 팀 구성원 및 프로젝트 제출 초안/최종 기록만 편집할 수 있습니다.
- 심사관은 배정된 제출물에 대한 심사 점수 행을 생성하고 검토할 수 있습니다.
- 조직자는 모든 팀, 프로젝트 제출 및 심사 점수 항목을 읽고 마감 후 제출물을 잠글 수 있습니다.
- 최종 상태가 설정된 후 제출 데이터를 변경할 수 없으며, 조직자 수정만 가능합니다.

인증:
- 회원 가입, 로그인, 로그아웃.

동작:
- 팀 구성, 프로젝트 제출 및 심사 점수 입력.
- 제출 상태 및 점수 변경에 대한 실시간 업데이트.
- 조직자, 참가자 및 심사관을 위한 Parse CLP, ACL 및 역할 기반 액세스 규칙을 포함하세요.

전달:
- 팀 구성, 제출 및 점수 리뷰를 위한 스키마, 권한 및 샘플 데이터가 포함된 Back4app 앱.

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

이것은 기술 접미사가 없는 기본 프롬프트입니다. 생성된 프론트엔드 스택을 나중에 조정할 수 있습니다.

몇 분 만에 배포월 50개의 무료 프롬프트신용 카드 불필요

API 샌드박스

해커톤 포털 스키마에 대해 GraphQL 엔드포인트와 REST를 시도해 보세요. 응답은 모의 데이터를 사용하며 Back4app 계정이 필요하지 않습니다.

플레이그라운드 로딩 중…

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

스택 선택

각 카드를 확장하여 선택한 스택과 함께 Team, ProjectSubmission, 및 JudgingScore를 통합하는 방법을 확인하세요.

Flutter 해커톤 프로젝트 포털 백엔드

React 해커톤 프로젝트 포털 백엔드

React 네이티브 해커톤 프로젝트 포털 백엔드

Next.js 해커톤 프로젝트 포털 백엔드

JavaScript 해커톤 프로젝트 포털 백엔드

Android 해커톤 프로젝트 포털 백엔드

iOS 해커톤 프로젝트 포털 백엔드

Vue 해커톤 프로젝트 포털 백엔드

Angular 해커톤 프로젝트 포털 백엔드

GraphQL 해커톤 프로젝트 포털 백엔드

REST API 해커톤 프로젝트 포털 백엔드

PHP 해커톤 프로젝트 포털 백엔드

.NET 해커톤 프로젝트 포털 백엔드

모든 기술로 얻는 것

모든 스택은 동일한 해커톤 백엔드 스키마 및 API 계약을 사용합니다.

통합된 포털 데이터 구조

일관된 스키마로 User, Team, ProjectSubmission, 및 JudgingScore를 쉽게 관리합니다.

해커톤 이벤트를 위한 팀 구성

참가자가 팀을 만들고, 멤버를 추가하고, 팀장을 지정할 수 있도록 하세요.

제출 및 심사 워크플로우

프로젝트 제출, 심사 리뷰 및 총 점수를 하나의 백엔드에서 추적합니다.

역할 기반 이벤트 접근 권한

조직자, 심사위원, 멘토 및 참가자를 위한 접근 수준을 정의하십시오.

해커톤 스택 비교

모든 지원되는 기술에 걸쳐 설정 속도, SDK 스타일 및 AI 지원을 비교하십시오.

프레임워크설정 시간해커톤 혜택SDK 유형AI 지원
약 5분모바일 및 웹에서 해커톤 포털을 위한 단일 코드베이스.타입된 SDK전체
5분 미만해커톤 심사위원 및 팀을 위한 빠른 웹 대시보드.타입된 SDK전체
약 3–7분해커톤 제출 흐름을 위한 크로스 플랫폼 모바일 앱.타입된 SDK전체
빠른 설정(5분)해커톤 포털을 위한 서버 렌더링 웹 앱.입력된 SDK전체
약 3–5분해커톤 포털을 위한 경량 웹 통합.입력된 SDK전체
약 5분해커톤 포털을 위한 네이티브 Android 앱.입력된 SDK전체
5분 이내해커톤 포털을 위한 네이티브 iOS 앱입니다.타입된 SDK전체
약 3–7 분해커톤 포털을 위한 React 웹 UI입니다.타입된 SDK전체
빠른 (5 분) 설정해커톤 포털을 위한 기업 웹 앱입니다.타입된 SDK전체
2분 이내해커톤 포털을 위한 유연한 GraphQL API.GraphQL API전체
빠른 설정 (2분)해커톤 포털을 위한 REST API 통합.REST API전체
~3분해커톤 포털을 위한 서버 측 PHP 백엔드.REST API전체
~3–7분.NET 해커톤 포털을 위한 백엔드입니다.타입 지정된 SDK전체

설정 시간은 이 템플릿 스키마를 사용하여 프로젝트 시작부터 첫 번째 사용자, 팀 또는 프로젝트 제출 쿼리에 대한 예상 기간을 반영합니다.

포털 자주 묻는 질문들

이 템플릿을 사용하여 해커톤 프로젝트 포털 백엔드를 구축하는 것에 대한 일반적인 질문들.

해커톤 프로젝트 포털 관행은 규모가 커짐에 따라 어떻게 수집 품질을 높게 유지하나요?
해커톤 프로젝트 포털 팀은 클라이언트, 문제 및 내부 인계 사항을 어떻게 모호함 없이 모델링해야 하나요?
이 해커톤 프로젝트 포털 CRM 계층은 새로운 문제 유형과 수집 채널로 성장할 수 있나요?
Flutter로 팀을 어떻게 로드하나요?
Next.js Server Actions으로 점수를 어떻게 관리하나요?
React 네이티브가 오프라인에서 제출을 캐시할 수 있나요?
무단 점수 수정을 방지하려면 어떻게 해야 하나요?
Android에서 해커톤 리더보드를 표시하는 가장 좋은 방법은 무엇인가요?

전세계 개발자들이 신뢰하는

Back4app 템플릿으로 해커톤 포털 제품을 더 빠르게 출시하는 팀에 참여하세요.

G2 Users Love Us Badge

해커톤 프로젝트 포털을 구축할 준비가 되셨나요?

몇 분 안에 해커톤 포털 프로젝트를 시작하세요. 신용카드가 필요 없습니다.

기술 선택하기