Modèle de backend du portail de projet Hackathon
Formation d'équipe, Soumission de projet et Évaluation des juges
Un backend de portail de projet Hackathon prêt pour la production sur Back4app pour la connexion des utilisateurs, la formation d'équipe, le suivi des soumissions de projet, et la révision des scores de jugement. Inclut un diagramme ER, un dictionnaire de données, un schéma JSON, un terrain de jeu API, et un prompt Agent IA pour une configuration rapide.
Retours du portail
Ce modèle vous fournit un backend de portail de projet de hackathon pour les comptes d'utilisateur, la formation d'équipe, le suivi des soumissions de projets et les évaluations des scores afin que les organisateurs puissent garder chaque projet dans un seul espace de travail.
- Suivi des utilisateurs et des rôles — Suivez le nom d'utilisateur, l'email, le rôle et le displayName pour les organisateurs, les participants, les juges et les mentors.
- Formation d'équipe dans un modèle — Suivez Team.teamName, Team.track, Team.status, Team.captain, Team.members et Team.maxMembers avec des classes Parse interrogeables.
- Flux de travail de soumission — Stockez les champs ProjectSubmission.projectTitle, repositoryUrl, demoUrl, submissionStatus et submittedAt.
- Capture de score de jugement — Enregistrez JudgingScore.criteria, score, commentaires, juge et jugéÀ pour chaque soumission.
Qu'est-ce que le Modèle de Portail de Projet de Hackathon ?
Les clients s'attendent à des mises à jour proactives dans le portail de projet de hackathon, ce qui n'est réaliste que lorsque l'état des cas, les documents et les prochaines étapes vivent dans un seul système. Les équipes le ressentent d'abord lors du stand-up du matin. Ce modèle modélise Équipe, Soumission de Projet et Score de Jugement avec un accès basé sur les rôles sur Back4app afin que chaque membre de l'équipe du portail de projet de hackathon voie la part du pipeline qu'il possède. Le schéma couvre Utilisateur (nom d'utilisateur, email, rôle, nom d'affichage), Équipe (nomÉquipe, piste, statut, capitaine, membres, maxMembres), Soumission de Projet (titreProjet, résuméProjet, urlDépôt, urlDémonstration, équipe, soumisPar, statutSoumission, pisteDéfi, soumisÀ) et Score de Jugement (soumission, juge, critères, score, commentaires, jugéÀ) avec authentification et accès basé sur les rôles intégrés. Connectez votre frontend préféré et lancez plus rapidement.
Meilleur pour :
Comment ce backend de portail de projet de hackathon est organisé
La qualité du portail de projet de hackathon est un indicateur retardé ; l'indicateur principal est de savoir si les mises à jour de première ligne sont intégrées dans le reporting le même jour.
Le hub maintient la langue cohérente pour Équipe, Soumission de Projet et Score de Jugement afin que produit, opérations et ingénierie signifient la même chose lorsqu'ils disent « enregistrement ».
Capacités du Portail
Chaque carte technologique dans ce hub utilise le même schéma de portail avec Utilisateur, Équipe, ProjectSubmission, et JudgingScore.
Configuration du compte et du rôle
L'utilisateur enregistre le nom d'utilisateur, l'e-mail, le rôle et le nom affiché pour accéder au portail.
Formation d'équipe
L'équipe lie un capitaine, un tableau de membres, une piste, un statut et un nombre maximum de membres.
Détails de la soumission de projet
ProjectSubmission stocke projectTitle, projectSummary, repositoryUrl, demoUrl et challengeTrack.
Flux de soumission
ProjectSubmission suit l'équipe, soumisPar, statutDeSoumission, et soumisLe.
Jugement et notation
JudgingScore conserve la soumission, le juge, les critères, le score, les commentaires, et jugéLe.
Pourquoi Back4app convient à un portail de projet de hackathon
Back4app vous fournit les primitives de portail nécessaires pour les hackathons afin que votre équipe puisse se concentrer sur l'enregistrement, la gestion des soumissions et la révision des scores plutôt que sur le travail d'infrastructure.
- •Classes Utilisateur, Équipe, Soumission de Projet et Score de Jury: Modélisez l'événement, l'appartenance à l'équipe, les détails du projet et le scoring des juges dans des classes Parse dédiées dès le départ.
- •Suivi des soumissions et des scores: Stockez ProjectSubmission.repositoryUrl, demoUrl, submittedAt, et JudgingScore.criteria, score et commentaires sans improviser votre schéma par la suite.
- •Visibilité de jugement en temps réel: Utilisez Live Queries pour les mises à jour de JudgingScore tout en gardant REST et GraphQL disponibles pour les juges et les organisateurs.
Gérez l'enregistrement, les soumissions et le jugement à partir d'un seul contrat backend sur le web et mobile.
Avantages du portail
Un backend de portail de hackathon qui maintient les opérations de l'événement organisées pendant que la compétition est active.
Lancement d'événements plus rapide
Commencez avec les classes User et Team au lieu de concevoir des tables d'inscription à partir de zéro.
Suivi des soumissions clair
Utilisez les champs ProjectSubmission comme submittedAt, demoUrl et submissionStatus pour suivre chaque entrée de projet.
Enregistrements de score prêts pour les juges
Gardez les entrées JudgingScore attachées à une ProjectSubmission et à un juge afin que les évaluations restent auditables.
Flux d'accès conscient des rôles
Protégez les actions des organisateurs, juges, mentors et participants avec des règles ACL et CLP.
Données d'événement que vous pouvez interroger
Stockez les objets Utilisateur, Équipe, Soumission de Projet et Score de Jugement en un seul endroit pour les tableaux de bord et les classements.
Configuration assistée par l'IA
Générez l'échafaudage backend et les notes d'intégration avec une invite structurée.
Prêt à lancer votre portail de hackathon ?
Laissez l'Agent IA Back4app échafauder le backend de votre portail de projet de hackathon et générer les flux d'Utilisateur, d'Équipe, de Soumission de Projet et de Score de Jugement à partir d'une seule invite.
Gratuit pour commencer — 50 invites d'Agent IA/mois, pas de carte de crédit requise
Pile technologique du portail
Tout inclus dans ce modèle de backend de projet de hackathon.
Carte des entités du portail
Modèle de relation entre les entités pour le schéma du portail du projet hackathon.
Schéma couvrant les enregistrements Utilisateur, Équipe, Soumission de Projet et Score de Jugement.
Voir la source du diagramme
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
}
Flux d'Intégration du Portail
Flux d'exécution typique pour la connexion, la recherche du tableau d'équipe, la soumission de projet, la saisie de score et les mises à jour en temps réel.
Voir la source du diagramme
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 eventsDictionnaire des Champs
Référence complète au niveau des champs pour chaque classe dans le schéma du portail de hackathon.
| Champ | Type | Description | Requis |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Auto |
| username | String | Login name for a portal account | |
| String | Email address used for team invites and judging notifications | ||
| password | String | Hashed password (write-only) | |
| role | String | Portal role such as organizer, participant, judge, or mentor | |
| displayName | String | Name shown inside teams, submissions, and score review | — |
| createdAt | Date | Auto-generated creation timestamp | Auto |
| updatedAt | Date | Auto-generated last-update timestamp | Auto |
8 champs dans User
Règles d'accès au portail
Comment la stratégie ACL et CLP sécurise les données Utilisateur, Équipe, Soumission de projet, et Score de jugement.
Règles de propriété des participants
Seul le capitaine de l'équipe ou un organisateur doit mettre à jour l'appartenance à l'équipe, les détails du projet ou le statut de soumission.
Limites de notation des juges
Les juges peuvent créer des enregistrements de JudgingScore pour les soumissions assignées, tandis que seuls les organisateurs peuvent remplacer les règles au niveau de l'événement.
Visibilité de l'événement à portée limitée
Exposez les données Utilisateur, Équipe et Soumission de Projet aux rôles qui en ont besoin, et gardez les notes privées ou les champs de modération restreints.
Schéma JSON
Définition de schéma JSON brute prête à être copiée dans Back4app ou utilisée comme référence d'implémentation.
{
"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
}
}
}
]
}Construire avec l'Agent AI
Utilisez l'Agent AI Back4app pour générer une véritable application de portail de hackathon à partir de ce modèle, y compris le frontend, le backend, l'authentification, et les flux Utilisateur, Équipe, Soumission de Projet et JudgingScore.
Créez un backend de portail de projet de Hackathon sécurisé sur Back4app avec ce schéma et ce comportement exacts. Schéma : 1. Utilisateur (utilisez Back4app intégré) : nom d'utilisateur, e-mail, mot de passe, rôle, nom affiché ; objectId, createdAt, updatedAt (système). 2. Équipe : nomDeÉquipe (Chaîne, requis), piste (Chaîne, requis), statut (Chaîne, requis), capitaine (Pointeur vers Utilisateur, requis), membres (Tableau de Pointeur<Utlisateur>, requis), maxMembres (Nombre, requis) ; objectId, createdAt, updatedAt (système). 3. SoumissionDeProjet : titreDuProjet (Chaîne, requis), résuméDuProjet (Chaîne, requis), repositoryUrl (Chaîne, requis), demoUrl (Chaîne, facultatif), équipe (Pointeur vers Équipe, requis), soumisPar (Pointeur vers Utilisateur, requis), statutDeSoumission (Chaîne, requis), pisteDeDéfi (Chaîne, requis), soumisÀ (Date, facultatif) ; objectId, createdAt, updatedAt (système). 4. ScoreDeJugement : soumission (Pointeur vers SoumissionDeProjet, requis), juge (Pointeur vers Utilisateur, requis), critères (Chaîne, requis), score (Nombre, requis), commentaires (Chaîne, facultatif), jugéÀ (Date, requis) ; objectId, createdAt, updatedAt (système). Sécurité : - Les participants ne peuvent modifier que leur propre adhésion à l'équipe et leurs propres enregistrements de projet soumis brouillon/final. - Les juges peuvent créer et examiner des lignes de ScoreDeJugement pour les soumissions assignées. - Les organisateurs peuvent lire toutes les Équipes, SoumissionsDeProjet et entrées de ScoreDeJugement, puis verrouiller les soumissions après la date limite. - Gardez les données de soumission immuables après qu'un statut final est défini, sauf pour les corrections des organisateurs. Auth : - Inscription, connexion, déconnexion. Comportement : - Formation d'équipe, soumission de projet et saisie de score de jugement. - Mises à jour en direct pour le statut de soumission et les changements de score. - Inclure Parse CLPs, ACLs et règles d'accès basées sur les rôles pour les organisateurs, participants et juges. Livrer : - Application Back4app avec schéma, permissions et données d'exemple pour la formation des équipes, les soumissions et la révision des scores.
Appuyez sur le bouton ci-dessous pour ouvrir l'Agent avec cet invite de modèle pré-rempli.
Ceci est l'invite de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.
API Sandbox
Essayez les points de terminaison REST et GraphQL contre le schéma du portail hackathon. Les réponses utilisent des données fictives et ne nécessitent pas de compte Back4app.
Utilise le même schéma que ce modèle.
Choisissez votre stack
Développez chaque carte pour voir comment intégrer l'équipe, la soumission de projet et le score de jugement avec votre pile choisie.
Flutter Portail de projet Hackathon Backend
React Portail de projet Hackathon Backend
React Natif Portail de projet Hackathon Backend
Next.js Portail de projet Hackathon Backend
JavaScript Portail de projet Hackathon Backend
Android Portail de projet Hackathon Backend
iOS Portail de projet Hackathon Backend
Vue Portail de projet Hackathon Backend
Angular Portail de projet Hackathon Backend
GraphQL Portail de projet Hackathon Backend
REST API Portail de projet Hackathon Backend
PHP Portail de projet Hackathon Backend
.NET Portail de projet Hackathon Backend
Ce que vous obtenez avec chaque technologie
Chaque pile utilise le même schéma backend de hackathon et les contrats API.
Structure de données de portail unifiée
Gérez facilement les utilisateurs, les équipes, les soumissions de projet et les scores de jugement avec un schéma cohérent.
Formation d'équipe pour les événements de hackathon
Permettre aux participants de créer des équipes, de rejoindre des membres et d'assigner un capitaine.
Flux de soumission et de jugement
Suivez les soumissions de projets, les évaluations des juges et les scores totaux dans un seul backend.
Accès à l'événement basé sur le rôle
Définissez les niveaux d'accès pour les organisateurs, les juges, les mentors et les participants.
Comparaison de la pile Hackathon
Comparez la vitesse de configuration, le style SDK et le support de l'IA à travers toutes les technologies prises en charge.
| Cadre | Temps de configuration | Avantage du hackathon | Type de SDK | Support IA |
|---|---|---|---|---|
| Environ 5 min | Base de code unique pour le portail de hackathon sur mobile et web. | SDK typé | Complet | |
| Moins de 5 minutes | Tableau de bord web rapide pour les juges et équipes de hackathon. | SDK typé | Complet | |
| ~3–7 min | Application mobile multiplateforme pour le flux de soumission de hackathon. | SDK typé | Complet | |
| Configuration rapide (5 minutes) | Application web rendue sur serveur pour le portail de hackathon. | SDK typé | Complet | |
| ~3–5 minutes | Intégration web légère pour le portail de hackathon. | SDK typé | Complet | |
| Environ 5 minutes | Application Android native pour le portail de hackathon. | SDK typé | Complet | |
| Moins de 5 minutes | Application iOS native pour le portail du hackathon. | SDK tapé | Complet | |
| ~3–7 min | Interface web Reactive pour le portail du hackathon. | SDK tapé | Complet | |
| Configuration rapide (5 min) | Application web d'entreprise pour le portail du hackathon. | SDK tapé | Complet | |
| Moins de 2 min | API GraphQL flexible pour le portail de hackathon. | GraphQL API | Complet | |
| Configuration rapide (2 min) | Intégration REST API pour le portail de hackathon. | REST API | Complet | |
| ~3 min | Backend PHP côté serveur pour le portail de hackathon. | REST API | Complet | |
| ~3–7 min | Backend .NET pour le portail de hackathon. | SDK typé | Complet |
Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'à la première requête User, Team ou ProjectSubmission utilisant ce schéma de modèle.
FAQ du portail
Questions courantes sur la création d'un backend de portail de projet hackathon avec ce modèle.
Prêt à construire votre portail de projet de hackathon ?
Commencez votre projet de portail de hackathon en quelques minutes. Pas de carte de crédit requise.