paintball-competitions-and-tournaments
יצירת מערכת סינכרון אישית עבור טורניר ה-Colleball שלך
Table of Contents
למה דווקא מצגת אישית
ב-Creball, משחקים מהירים והחלטות מתרחשים בתוך שניות. Off-the-shelf הבקיעboards נועדו בדרך כלל עבור ספורט מסורתי כמו כדורסל או כדורגל, חסר את הגמישות הדרושה עבור מצבי משחק ייחודיים של כדור צבע.
- (ב) מהדורות של [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]], [[1924]]]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]
- (ב) ⁇ :0) לפורמטים מרובים של FLT:1 - מ 3-אדם צוותים למשחקי תרחיש גדולים - ללא צורך בתבנית נוקשה.
- (FLT:0) צופים מעורבים ב-FLT:103) באמצעות גרפיקה דינמית, צירי חיים וסטטיסטיקות ספציפיות של צוות.
- (ב) ,0) ,העברה של טעות אנושית (הראשונה ל- 1) באמצעות העברת נתונים באמצעות טאבלטים או מכשירים של שופטים.
- (ב) ,0) הזדמנויות ל-Branding הזדמנויות FLT:1 להציג לוגוי חסות, שמות אירועים ותכניות צבע מותאמות אישית.
עם פתרון מותאם אישית, אתה יכול גם לנתח את ההיסטוריה של המשחק, ביצועים של שחקן ומגמות טורניר - משהו בלתי אפשרי עם סדינים חד פעמיים נייר או מערכות קנייניות סגורות. CMS מודרני ללא ראש כמו Directus עושה את זה לא רק אפשרי אבל חוזר על אירועים.
עקבו אחרי Your Scoreboard Backend
Directus הוא קוד פתוח ללא ראש CMS שפועל כגיבוי רב עוצמה ליישום לוח הציון שלך.זה מספק ממשק נקי וידידותי למשתמש למנהלים לניהול צוותים, משחקים וציונים ללא כתיבת קו אחד של קוד.ה ו- GraphQL APIs, בשילוב עם תמיכה בזמן אמת WebSocket, לעשות זאת בחירה אידיאלית עבור מערכת דירוג חי.
הקמת פרויקט Directus
אתה יכול לרוץ ישירות בשרת שלך (מטופח) או להשתמש בשירות הענן של Directus לחוויה מנוהלת. עבור הצבת טורניר, א-אירוח עצמי ברשת מקומית עשוי להיות עדיפה על מנת להימנע משקיפות.
- התקנת Directus באמצעות Docker או פריסת Node.js ישירה.The FLT:0 רשמי Faststart Guidetshows 1 מכנה את התהליך תוך דקות.
- הגדר את מסד הנתונים שלך (PostgreSQL, MySQL, SQLite -SQLite הוא אידיאלי לשימוש לא מקוון).
- הגדר משתמש מנהל ויצור פרויקט ספציפי לטורניר שלך.
- ניתן למודול "Realtime" אם אתה מתכנן להשתמש WebSockets עבור עדכונים מיידיים.
עיצוב מודל הנתונים
schema הנתונים של לוח הציון שלך צריך לשקף את המבנה של הטורניר שלך. ליצור אוספים (טבלאות) ב Directus עבור:
- (ב) [ה]ב"ה]: [השם], הלוגו (כתובת ה-URL של תמונות), הרוטסטר (הופנה מהדף השחקנים), הצבע העיקרי.
- (ב) [15] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) מ"ממ (מעגל)" (מעגל, שדה, מתחיל זמן, מעמד (בהמשך, חי, גמור, זמן רב), זמן.
- (הפסקה:0)ScorescoresFLT:1 - התאמה (relation), צוות (relation), ציון ערך, טייםאמפ (בעיקר שימושי עבור ניקוד חי), סוג אירוע ניקוד (התחמשות, לכידת דגל וכו ').
- (ב) ⁇ :0 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) [ה]התערות:0] מ"מ[דרוש מקור]" ([[1924]], [[1924]], [[1924]], [[1924]]]]
השתמש ב שדות יחסים בנויים של Directus (many-to-one, רבים-to-many) כדי לקשר אוספים אלה.לדוגמה, התאמה יכולה להיות שני צוותים (או יותר עבור פורמטים מרובים-צוות) וערכי ציון מרובים שנרשמו בזמנים שונים.חשב הוספת FLT:0TournamentFLT:1 אם אתה מתכנן לנהל אירועים מרובים מאותה דוגמה ישירה - כל אחד יכול להיות חוקי הטורניר שלו.
הגדר הרשאות כך שרק שופטים אותנטיים יכולים לכתוב ציונים, בעוד שחזית לוח התכנון הציבורי צריכה רק לקרוא גישה לנתונים האחרונים.You יכול גם ליצור תפקיד "שומר" עם גישה מוגבלת לכתיבה לסטטוס ולציונים בלבד.
עדכון בזמן אמת עם Directus Realtime
טורנירי גלגל הצבעים נעים במהירות - עיכובים בתצוגת ציון יוצרים בלבול. Directus'FLT:0RealtimeמודולFLT:1 מאפשר לך להירשם לשינויים בכל אוסף.כאשר שופט מעדכן ציון או מצב תואם שינויים, החזית מקבלת את העדכון מיד באמצעות WebSocket.
להשתמש בו:
- התקנת ה-FLT:0) בפרויקט החזית.
- צור קשר WebSocket ל-Directus שלך.
- הירשם לאוסף "Scores" או "התאמה" לאירועים בזמן אמת.
- (ב) , ויקרא יא"ד, ו[ה] , ויקרא ויקרא ויקרא יט" (בראשית כ"ד, כ"ד).
גישה זו מבטלת את הצורך בסקר ולהבטיח שכל מכשיר צופה בלוח הסימון נשאר מסונכרן.עבור טורנירים גדולים עם משחקים בו-זמנית רבים, שקול להשתמש בערוצי WebSocket בהיקף של זיהויי התאמה ספציפיים כדי להפחית רוחב פס.
דיבה עמוקה: WebSocket Connection Management
בעת בניית לוח ניקוד חזק, להתמודד עם חיבור טיפות חסד להירשם ל-FLT:4 ו- (FLT:5) אירועים של הלקוח WebSocket.על ניתוק, ליישם את החזרה האקספוננציאלית מחדש - עם עיכוב של 1 שניות להכפיל עד 30 שניות. Directus Realtime שלח פעימות לב כל 30 שניות על ידי ברירת מחדל; אם אתה מתגעגע שלוש פעימות לב, זה בטוח כדי לקבל את הציון הקטן על גבי ה-ידי צוות ה-ידי ה-ידי ה-ידי ה-המתקורד כדי ירידה של ה-ידי ה-ידי ה-המתקפסהעין, אם הוא רק כדי למנוע את ה-הספקיתקורד של ה-ה-ה-ידי ה-החליפקודמתק לאחור, אם נשאר רק כמה שניות, אם הוא רקורד על-ידי צוות ה-ידי ה-ידי צוות ה-ידי ה-ידי צוות ה-ידי ה-הספקיתוק האחורי של ה-ידי ה-ידי ה-ידי ה-ידי ה-ידי ה-ידי ה-ידי ה-ידי ה-"מחדשהספק, אם הוא יכול לזכור את ה-ידי ה-ידי ה-ידי ה-"מחדשהספק-"מסמך כמה שניות
בניית התצוגה הקדמית
החזית היא מה שחקנים, שופטים וצופים רואים באמת.אתה יכול לבנות אותה כאפליקציית אינטרנט, ממשק טאבלט ייעודי, או אפילו לוח נתונים גדול.
בחירת מסגרת
כל מסגרת JavaScript מודרנית (React, Vue, Svelte, או אפילו וניל JS) תעבוד.אם צוות הטורניר שלך הוא לא טכני, דף HTML + CSS פשוט עם תסריט קטן עשוי להיות הקל ביותר.עבור אינטראקציה מתקדמת יותר, תגובה עם Directus SDK הוא בחירה מוצק.Vue 3 עם ה- API שלה גם עם נתונים בזמן אמת באמצעות LT6 או אקטיביות אישית.
עבור צוותים המעדיפים פתרון קל משקל, לשקול שימוש ב- FLT:0 אלפיפין.jsFreaLT:1 - זה מאפשר לך להוסיף התנהגות תגובתית ל- HTML סטטי ללא שלב בנייה.
עקבו אחרי Directus SDK
Directus מספק ללקוח REST וגם לקוח בזמן אמת.עבור לוח ציון, בדרך כלל:
- השתמש ב- API כדי לטעון נתונים ראשוניים של התאמה ומידע על צוות REST.
- לעבור למנויים WebSocket עבור עדכונים חיים.
- עיצוב UI כדי לעדכן ציונים ללא פיגור (CSS מעברים עזרה).
דוגמה לשילוב:
- לתקן את החזית (אם צריך) או להשתמש בסימון API לקריאה בלבד.
- נצלו את רשימת המשחקים הנוכחית של Directus.
- עבור כל משחק פעיל, להציג את שתי הקבוצות ואת הציונים הנוכחיים שלהם.
- הירשם לשינויים באוסף "השלים" ומחק מחדש את התצוגה.
כדי לשמור על העדכונים של UI, ציון אצווה: אם אירועים מרובים מגיעים בתוך כמה אלפיות שניות, לחלק אותם לגרסה אחת באמצעות עדכון המדינה debounced (למשל, בקשה AnimationFrame או -100ms debounce).
עיצוב ממשק המשתמש
קלרנס הוא ראשוני.פריסת ציון טובה כוללת:
- שמות של צוות (גדול, צבעים מנוגדים).
- מספרים (גדולים מאוד, קלים לקריאה מרחוק - מינימום 80px פונט עבור ציונים ראשוניים).
- זמן משחק (חשבון לאחור או זמן מחלף).
- אינדיקטור "סטטוס" (למשל "משחק", "Break", "Final").
- אופציונלי: יחס של חיסול או יחס מוות לסטטיסטיקות בודדות.
השתמש בצבעים גבוהים (למשל, טקסט לבן על רקע כהה) ולהימנע מלחיצת המסך. עיצוב אחראי מבטיח את לוח הציון נראה טוב הן בטלוויזיה 50 אינץ ' והן לוח מתייחס. עבור תצוגות טלוויזיה, לשקול יחס 16:9 עם נוף אחד התאמה; עבור מסכים ניידים, להשתמש פריסה קומפקטית יותר עם כרטיסיות עבור מספר משחקים.
הצגת ציוני זמן, טיים ו-Match Status
זרימת הנתונים עובדת כך:
- השופט נכנס לציון (או אירוע חיסול) בטופס נייד.שבקשת POST הולכת ל-Directus API.
- Directus מציל את הרשומה ומשדרת אירוע "יצור" באמצעות WebSocket.
- החזית מקבלת את האירוע, מעדכנת את המדינה המקומית שלה, ומחזירה את הציון.
- ניתן לטפל בלקוח בצד (באמצעות שעון מקומי) או השרת לצד שדות Directus עבור זמני התחלה / end. עבור דיוק, להשתמש בגישה בצד השרת: כאשר משחק מתחיל, השופט קובע שדה 7FLT, ואת החזית מחשבת זמן שנותר מזה.השרת יכול גם לעדכן שדה 8:8 בכל שנייה באמצעות זרם ישיר או קצה קטן.
עבור מעמד התאמה, הבה נתייחס לסטטוס שדה ב Directus (למשל, מ"התחל" ל"משחק" ל"מעודכן") דפוס משותף הוא לקבל "פאנל שליטה" עבור שופטים עם כפתורים להתחיל / עצירת הזמן, ציוני עלייה, ולקרוא עונשים.
תכונות מפתח של מערכת ההרחבה Custom Scoreboard
מעבר ליסוד, שקול את התכונות המתקדמות הללו כדי להפוך את הטורניר שלך לבלוט:
- (FLT:0) צפיות התאמה של Multiple ,(FLT:1) - אם הטורניר שלך פועל בתחומים בו-זמנית, לוח הציון יכול להראות את כל המשחקים הפעילים או לאפשר מעבר בין שדות. השתמש פריסת רשת עם 2x2 או 3x2 לוחות עבור תצוגות מרובות-שדה.
- (FLT:0) Replay או איטי-motionFLT:1 - לא עבור הסימון עצמו, אבל שכבת הנתונים יכולה לתמוך בפעולות "לאנדו" (אחסון ההיסטוריה) כך שתוכל לתקן שגיאות.ליישם יומן של כל השינויים עם זמנים; לוח הבקרה יכול לכלול כפתור "לא לעשות אחרון" אשר מחזיר את האירוע האחרון.
- (FLT:0) אינטגרציה אינטגרטיבית (FLT:1) - לוגוי ספונסרים בסמיך או בין משחקים. השתמש באוסף Directus עבור "מגיבים" עם שדה תמונה וסדר מסוג מסוים.החזית יכולה להראות ספונסר אקראי כל 30 שניות או להציג אותם בדג'ר.
- (FLT:0) ממשק API ציבורי עבור הזרמת FLT:1 - אם אתה משדר את הטורניר באינטרנט, להטביע את לוח הציון עם iframe או RTMP מותאם אישית.כלי זרימה רבים כמו OBS יכול ללכוד חלון דפדפן; לעצב את לוח הציון עם רקע שקוף כך שהוא מעכב את הזנה המשחק.
- (FLT:0)FLT גיבוי מודאר 1 - אפילו עם מערכת דיגיטלית, תמיד יש כרטיס מסך מודפס ועט מוכן.בנוסף, ליצור דף פשוט ללא הפרעה שלא ניתן להשיג ציונים במקומיים וסנכרנים כאשר הרשת חוזרת.
ראשי > תוצאות חיפוש > Scoreboard Overlay for Livestreams
אם אתם מתכננים לחיות את התחרות שלכם, ליצור דף HTML נפרד מותאם ל- OBS overlay. Remove את כל הרקע, השתמש במיקומים מוחלטים, לחשוף את המשתנים של CSS עבור צבעים ועשרות, כך שצוות הזרמה יכול להתאים אותם בקלות.
המונחים:
בצע תהליך מובנה זה כדי לבנות את לוח הציון שלך מאפס כדי לחיות.
שלב 1: חוקי טורניר Define ו-Sight
לפני כתיבת קוד כלשהו, מסמך בדיוק כיצד הניקוד עובד.האם נקודה דורשת נגיעה בדגל?האם יש כלל רחמים?כיצד יפתרו יחסי זמן?חוק זה קובע את מודל הנתונים שלך.לדוגמה, אם נקודות חיסול, אתה צריך אוסף נפרד עבור אירועי חיסול.
שלב 2: הגדרת איסוף
היכנסו לתוך פרויקט Directus שלכם וליצור את האוספים המתוארים מוקדם יותר.הוספת חוקי אימות - לדוגמה, ציונים חייבים להיות לא שליליים integers. Conform הרשאות לתפקיד "referee" כדי לאפשר לכתוב גישה לעשרות ולעמוד מעמד, בעוד התפקיד "ציבורי" (שמשתמשים בו על ידי החזית) קרא רק גישה.
שלב 3: בניית נקודות קצה API או שימוש ב- SDK Directus
(ה) ניתן להשתמש ב-Directus's created RESTpoints ישירות מהחזית, או לבנות נקודות קצה API מותאמות אישית אם אתה צריך לוגיקה עסקית נוספת (למשל, חישוב סךים מאירועים מרובים) עבור רוב הטורנירים, את נקודות קצה ה- REST ו- WebSocket קצה נקודות מספיק. השתמש ב-FLT:0Directus SDKFLT:1 כדי לפשט את האימות והמנויים האמיתיים של הזמן אם אתה צריך רצף של זמן, אם אתה יוצר רצף של 11 נקודות עבודה.
שלב 4: לפתח את ה-Preend Components
צור את דפי התצוגה עבור צופים ואת לוח הבקרה עבור שופטים. שמור את תצוגת הצופה לקריאה בלבד להתמקד על אלמנטים גדולים וברורים.לוח הבקרה יכול להיות קומפקטי יותר עם כפתורים וצורות. השתמש ב- CSS עבור שינויים ציון (למשל, פלאש קצר כאשר ציון increments) עבור לוח הבקרה, לשקול שימוש בעיצוב סלולרי הראשון עם כפתורים גדולים שניתן להשתמש בקלות אפילו ללבוש כפפות אפילו.
שלב 5: מבחן עם התאמה אמיתית
הפעל התאמות עם מתנדבים הפועלים כשופטים ושחקנים.סימונים תרחישים שונים: שינויים מהירים, שדות מרובים, שיחות עונש, ובעיות רשת.בדוק כי WebSocket מתחבר מחדש באופן אוטומטי אם החיבור טיפות.מבחן תכונה undo (אם ייושם) ולהבטיח שציונים הסופיים לא ניתן לשנות לאחר המשחק מסתיים.בנוסף לבדוק את הנפילה הלא מקוונת ולוודא כי הציון עדיין מראה את הפאנל האחרון הידוע וניתן לסנכרונכרן שינויים מאוחר יותר.
שלב 6: ⁇ ורכבת
§ § קדמית על שרת מקומי או מארח ענן. לאירועים לא מקוון, לרוץ Directus ואת החזית על מחשב נייד מקומי עם נקודה חמה WiFi. השתמש Docker Compose כדי לארוז Directus ו שרת אינטרנט קל משקל (כמו Nginx או Caddy) עבור הקדמית כרטיס הרכבת הקדמית. מאמנים מתייחס על איך להשתמש בלוח הבקרה - עשה את זה פשוט ככל האפשר: אחד כדי להזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזזב צוות של מערכת ההפעלה, אחד מהיר, כמו גם כן, אחד, אחד, אחד, החל ציון זמן קצר על גבי לוח הזמנים של לוח הזמנים של לוח הזמנים של לוח הזמנים של לוח הזמנים של לוח הבקרה.
אבטחה וסמכויות בDirectus
מכיוון שהמערכת החיתנית היא גישה למגוון תפקידים, האבטחה היא קריטית.התחל על ידי יצירת שלושה תפקידים:
- (ב) [15],5stratoratorFLT:1 - גישה מלאה לכל האוספים וההגדרות (המשתמשים במארגני הטורניר).
- [ה]התאמת:0 [הפרטה]: [ה] [ה] [ה] [ה]], [התחיל] גישה לעשרות, לדרגות, לדרגות, לרווח, לעונשים ולעמוד בארועים.
- (FLT:0) PublicveFLT:1) - גישה לקריאה בלבד לעשרות, משחקים (רק אלה עם מעמד "חיים" או "מיושב"), קבוצות ושחקנים.
השתמש במערכת הרשאות של Directus כדי לאכוף את אלה ברמת האיסוף.עבור אבטחה נוספת, להגביל את הגישה על ידי כתובת IP אם לוח הבקרה משמש רק על לוחות ספציפיים. Enable HTTPS על המקרה שלך, במיוחד אם אתה חושף אותו לאינטרנט עבור הזרמת יתר.
אופטימיזציה ל- Live Scoreboards
לטורניר יש עשרות משחקים בו זמנית כדי לשמור על ההזנת WebSocket:
- רק להירשם לאוספים שמשתנים לעיתים קרובות (למשל, FLT:12 ו-FLT:13) להימנע מביקורת על אוספים סטטיים כמו FLT:14 אלא אם כן הם מעדכנים במהלך האירוע.
- השתמש בפרמטרים המסננים של Directus כדי להירשם רק לרשומות רלוונטיות, לדוגמה, להירשם ל-FLT (בקיצור: 15) עם מסנן מסנן 16 כדי להפחית את הרעש.
- בחזית, debounce UI עדכונים.אם אירועים מרובים מגיעים בתוך אותה מסגרת אנימציה, אצווה אותם לעדכון חד-פעמי.
- שמות צוות Cache ולוגים מקומיים במחלקת המקומי של הדפדפן כך שהם לא צריכים להילקח על כל חיבור.
- עבור טורנירים גדולים מאוד (מאות שחקנים), סטטיסטיקות שחקן מדמיינת ועומס אותם על הביקוש.
טיפים ליישום מוצלח
- (FLT:0) שמור על הרשת פשוטה.FLT 1 להשתמש ברשת WiFi אחת עם רוחב פס הולם.הימנע מחבר מכשירים ציבוריים; השתמש בטבליות ייעודיות עבור הפניה.חשב רשת של 5 GHz להפרעות נמוכות יותר.
- (FLT:0Cache את הנתונים הראשונים.FLT:1aw כל שמות הצוות, לוחות הזמנים של המשחק, ואת הלוגוים לתוך החזית בסטארט-אפ כך ש- WebSocket Outage לא שובר את התצוגה באופן מיידי.
- (ב) [ה]ה'] יש דף HTML סטטי עם שדות קלט ידניים כאתר נופש אחרון, מסונכרן לקובץ JSON מקומי שניתן להעלות מאוחר יותר.
- (ב) (ב) ,0) ליתר דיוק הזמן (FLT: 1) אם משתמשים ב- Server-side timer, ודאו שהודעות WebSocket שלך כוללות את זמן השרת המדויק כדי להימנע מסחף בין מכשירים.
- (ב) ,0)Consider נגישות.FLT:1 השתמש בגופנים גדולים וניגוד גבוה עבור הצופים עם ליקויים חזותיים.ספק משוב אודיו (זמזם) לאירועים חשובים כמו תחילת המשחק / סיום.
- (FLT:0)Plan for Powerve.FLT:1 כל המכשירים צריכים להיות טעון לחלוטין, ויש להם גיבויים סוללות ופסי חשמל. להפעיל את המחשב הנייד על UPS במידת האפשר.
- (FLT:0) ביצוע מודל הנתונים שלך.FLT:1) שמור על דיאגרמת אוספים ומערכות יחסים כך מארגני טורניר עתידיים יכולים לשנות בקלות את המערכת.
מסקנה
מערכת ניקוד מותאם אישית שנבנתה על Directus הופכת את טורניר כדור הצבעים מציוני ידני כאוטי לחוויה מקצועית, מרתקת.על ידי ניהול מודל הנתונים שלך ומינוף עדכונים בזמן אמת, אתה מקבל גמישות מוחלטת להסתגל לכל חוק שנקבע תוך שמירה על שחקנים וצופים הודיע כל שנייה של המשחק.עם השלבים המפורטים כאן - החל ממודל נתונים ועד פריסה - אתה יכול ליצור ציון כי באופן אמין על יום והתרשמות על כל אחד על המגרש.
(ב) לעיין באתר האינטרנט של [[המאה ה-1]], [[1924]], [[1924]], [[1924]], [[1924]]]], [[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]