From b0b1b4cf47c1a34e08ae930e3ea24da344d472f1 Mon Sep 17 00:00:00 2001 From: jamesparkin675 <78595078+jamesparkin675@users.noreply.github.com> Date: Wed, 18 Jan 2023 14:43:12 +0000 Subject: [PATCH] New index design --- Results/Results/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 201 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 2382 bytes .../Results/__pycache__/urls.cpython-310.pyc | Bin 0 -> 1026 bytes .../Results/__pycache__/wsgi.cpython-310.pyc | Bin 0 -> 604 bytes Results/Results/asgi.py | 16 +++ Results/Results/settings.py | 124 ++++++++++++++++++ Results/Results/urls.py | 22 ++++ Results/Results/wsgi.py | 16 +++ Results/db.sqlite3 | Bin 0 -> 131072 bytes Results/mainapp/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 201 bytes .../mainapp/__pycache__/urls.cpython-310.pyc | Bin 0 -> 466 bytes .../mainapp/__pycache__/views.cpython-310.pyc | Bin 0 -> 722 bytes Results/mainapp/admin.py | 3 + Results/mainapp/apps.py | 6 + Results/mainapp/migrations/__init__.py | 0 Results/mainapp/models.py | 3 + Results/mainapp/templates/index.html | 118 +++++++++++++++++ Results/mainapp/templates/results.html | 8 ++ Results/mainapp/templates/scoreboard.html | 8 ++ Results/mainapp/templates/teams.html | 8 ++ Results/mainapp/tests.py | 3 + Results/mainapp/urls.py | 9 ++ Results/mainapp/views.py | 13 ++ Results/manage.py | 22 ++++ specs.txt | 30 +++++ 27 files changed, 409 insertions(+) create mode 100644 Results/Results/__init__.py create mode 100644 Results/Results/__pycache__/__init__.cpython-310.pyc create mode 100644 Results/Results/__pycache__/settings.cpython-310.pyc create mode 100644 Results/Results/__pycache__/urls.cpython-310.pyc create mode 100644 Results/Results/__pycache__/wsgi.cpython-310.pyc create mode 100644 Results/Results/asgi.py create mode 100644 Results/Results/settings.py create mode 100644 Results/Results/urls.py create mode 100644 Results/Results/wsgi.py create mode 100644 Results/db.sqlite3 create mode 100644 Results/mainapp/__init__.py create mode 100644 Results/mainapp/__pycache__/__init__.cpython-310.pyc create mode 100644 Results/mainapp/__pycache__/urls.cpython-310.pyc create mode 100644 Results/mainapp/__pycache__/views.cpython-310.pyc create mode 100644 Results/mainapp/admin.py create mode 100644 Results/mainapp/apps.py create mode 100644 Results/mainapp/migrations/__init__.py create mode 100644 Results/mainapp/models.py create mode 100644 Results/mainapp/templates/index.html create mode 100644 Results/mainapp/templates/results.html create mode 100644 Results/mainapp/templates/scoreboard.html create mode 100644 Results/mainapp/templates/teams.html create mode 100644 Results/mainapp/tests.py create mode 100644 Results/mainapp/urls.py create mode 100644 Results/mainapp/views.py create mode 100644 Results/manage.py create mode 100644 specs.txt diff --git a/Results/Results/__init__.py b/Results/Results/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Results/Results/__pycache__/__init__.cpython-310.pyc b/Results/Results/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e29603632e8384a79328390f772bfdd3911347be GIT binary patch literal 201 zcmd1j<>g`kf|u`(Cxht6AOaaM0yz#qT+9L_QW%06G#UL?G8BP?5yYw?VCVdlRE2<|{H)Yupj>!r zQgLQUYH>_ZYH?{!NwIEleoj7&1E=HTGxIV_;^XxSDsOSv# D!v#0g literal 0 HcmV?d00001 diff --git a/Results/Results/__pycache__/settings.cpython-310.pyc b/Results/Results/__pycache__/settings.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3fc89d84a001bb83adf29ee68c26969f5744129d GIT binary patch literal 2382 zcmb7GOK;mo5GHBrVZ}-uI}ayr0itP}s);EiPSYf4QqvNpsL=}|Ww(R?g5s{_b@-6E zt2pMhewhKDV<=&vv!&fpM_1c!G8L*O|q;DsOgpTwWJgVaIFNTUTKgG3`c;Ecrq zhf;5OBM0|1+%KSvv4pZXjTYCr0gpr!OD??S36GZEhy&ipqr7nuT|}2aXL+4Nm){74 zH!h(Svx^7%XYsL!rT!rfjx?x-e>l?8L;~KhYTu18~SNO=f z%X3_=d|-J4U!s^X;ti;@=Lb>;(~-ldGz|O$Y%@8Rt6~oa7Q;yDA4|7UVzXf(mv|Co zR=_5jx1|vU6lntbK)xq`1=bb7bo~HJ!~=NOV#N0(__2Kg4vB;Bf`6RbXKYBH6pP5W zsXX>EjllNZBKC>^SY-Z?*t9qexHyJq`&il=IgaEI$|Qg9bVHVhz!4^a^vZHZnEoGM z0p6Q&^amU^SKuSDZL$4ud%^ne7t2byKw8Cz4h7F9rpT&5d3uW@MYm~ z@c6#vF>kZ~>8o20{71q4!-t!nBfXFguZ&@2+xJ*N`f@^QxH`W&0*~u+i?Ipz7&{(f z8eX3hQcNk(d{*Fsz#4$X&3Ow32V=*_K?|91VAJ5)3;8AI+$KJr|1w?9Fq z4Cgm7rE1o=F{W?E>fr}A;Sl@ffn~phVvxVD1eS|i!#L~djNQ_t%;Ztv(6Bf`Vb~oy zP-$`>%&~{2l^~asqSGg08eVoS;#tFCacV)Ml_VoxGZV_jhB*Cz7R2z2dE~QNGQ$1Q zApG(ingKq9B4Xj4iS9|>#w33LIVL~coKrp__5%h}SwW04+e+z$+AK$6xz^F5tkQ0q z$t=@q>$O%>3)iL`9?=1jfej!&In^kG@SX)->?F-m|CCaC=n#fC!yGJ5<^>^2tIcYy zsYYT`X{bT`1_+!fbE~!e|uj0apklpF`fc!ofn`va&bWHvj{2dZH#EN(A7&}2HHMUP%->? z0t-yKKEe)_x5)r1%&!papk`q$%9ti}bkmG7L+G0h=?4N(8)Z#1?ltjxfT{1i!clq% zZN_6pc3aWZ_@twprj|OYZoW`|h*D*ByIYO&O1<9NRmJ+vs- zsFllgbyw-A(Nd??(#>wCUTQTf(W0(4+I2-&wP<-)tJY%udab0ynG`LS6wsK}y+_OAd8JlYwQ&Nkl+}vTt?MTEYMGUqS}*^?1)l&f$?&&RdeVziiuS&P-a*?| z0Ij4~_H8&DkI`O3tt#}`vwMo(+tEruywo1QtZ8o-_bFsI?M-T9L-QSf`fzfezCY#R zag_ZAj&9`OXYhxBqjeZWZfR+GLClB?qL58x7sZ?)W_f|n3c`Ewo%mi{7BT{#=EZ+t Uo`*GY=K4!q6@}!R&hgpQze$lYRR910 literal 0 HcmV?d00001 diff --git a/Results/Results/__pycache__/urls.cpython-310.pyc b/Results/Results/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1bb2a3345dfd7c983864c20d6a468f2a7a681475 GIT binary patch literal 1026 zcma)5U2oGc6m`;cEm;Tr1iy8WwnPJ-DnL|a8$*DmeSlO&>fG3EU1B@(b%5=4zlLAJ zf5^T1UEqmNT=)2o&j<(&ruphXIqA{W# z^>a`7W8ZV@R^Af9I1ue|+e0j%0rQtz%g(KD*KO9OTese=KljI7+Brv2mlQriXAH{R z0KPnXgGWlv_`KA_a3#a=V!`lLsq=yu!?c7eoO3W(tJ1Lg0$`)?C(b@YjE|JYLTQG% zoGC5p5V*)00fvFGL5S^G7*oI?NvO&orb{B{s?ci5G81P?Bupkx;)BGff@hF8aAMO# z5*~gb!p4F@cvQ;Fv0J6BgC4|qNGT=~b5SU51{lw@5?EYMNKrJ08~8^JzLsnSY$&u> zt=PqGzrWY$S}4Kxuq1*#>$`P73P(8s*q>TqbR+8jSSYh#+7XFsqt3 zn83sZ*^T~TbRx67q+HIe33WavEwja3`*TtogDn+X9*1SS5uP0NZM>P#lKaVC@T{f4WRXf&T{+s3Hc-VmVe>p?nj#{qD|s=&plwl_-s73pmUa?`KH zXpmk4(~!Qlm4;KIKXRGAR9PvQG?2bMJRZWe%+ldS`u=>RD8r|#zJ>Gyo4OQ`HZN)a nT;*!L`TKYI;C=&gq=c$ literal 0 HcmV?d00001 diff --git a/Results/Results/__pycache__/wsgi.cpython-310.pyc b/Results/Results/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83e3e83fea14c40b725a32ff998b85d8cb4fe226 GIT binary patch literal 604 zcmYjP!EVz)5M4WIQw&8tAkKS@L~W2bRR|F^AxcHl3a3rlX!(rgeo8NXsQ|x?qEoyvW<6Yr~ti5~t%exHw1D>Lu%8XC3@)Zf3wY35in4l>(j+Pk4@Eq2N%#5)@x1rCdMhBnQDKlcXq= zOcNtfPbRkBd&`nz30!JRn6Do=YFk_qpGpNUI01MwV+uM70)Z*{VxH&>A2g+y2cU!3 z{;ObyHwFU%g~C-1+5|V0$-uj_<6y(KQ$5ST#PwagC8K)YJ?RYlXK~mYjRwPh7@wYX zFFy2c5AM7735=0Cqjsxm#j%wT$CZmz9c+a7snze-WlPr*RV~mrc{hb{jMHd7mMJIMdbe@#gQb%1(7j*{|o%Z@2TIn?EjG|BBF$&=4n{7~Z s30EWyP;{^KFhqq9;D4-@`NgW*d$U>1Tl;qy)e4$y@6i+Ysq4A_0Ms?XfdBvi literal 0 HcmV?d00001 diff --git a/Results/Results/asgi.py b/Results/Results/asgi.py new file mode 100644 index 0000000..779c223 --- /dev/null +++ b/Results/Results/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for Results project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Results.settings') + +application = get_asgi_application() diff --git a/Results/Results/settings.py b/Results/Results/settings.py new file mode 100644 index 0000000..9f9ff95 --- /dev/null +++ b/Results/Results/settings.py @@ -0,0 +1,124 @@ +""" +Django settings for Results project. + +Generated by 'django-admin startproject' using Django 4.1.5. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.1/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-==z9@atc)#1c@%@+txwiie=3qk)9r92antn3b$v#4o8r2q63&d' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'Results.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [BASE_DIR / 'mainapp/templates'], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'Results.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.1/howto/static-files/ + +STATIC_URL = 'static/' +STATICFILES_DIRS = [BASE_DIR / 'static/'] + +# Default primary key field type +# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Results/Results/urls.py b/Results/Results/urls.py new file mode 100644 index 0000000..f567ebc --- /dev/null +++ b/Results/Results/urls.py @@ -0,0 +1,22 @@ +"""Results URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.1/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('', include('mainapp.urls')), +] diff --git a/Results/Results/wsgi.py b/Results/Results/wsgi.py new file mode 100644 index 0000000..917373a --- /dev/null +++ b/Results/Results/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for Results project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Results.settings') + +application = get_wsgi_application() diff --git a/Results/db.sqlite3 b/Results/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..ba703fc0a13523de4bfb91596c85543c61cd8b19 GIT binary patch literal 131072 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 Liee@p!NLFl#HKgQ literal 0 HcmV?d00001 diff --git a/Results/mainapp/__pycache__/urls.cpython-310.pyc b/Results/mainapp/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..89f21feeaaff4ceb5f0432642b88042b5e70e9b2 GIT binary patch literal 466 zcmYk2OHRWu5Qgn0Y11?bS3rnO7xVxKAu2#fNT7=HQsqsWvD%c_j_d?z@4!Jg33ter zRj+`$U`&HxEdTQ7-;bG5Q4|o2{mn^O#1N}UnhN9yG2sY*O-U}?>XZy zrY5zQN#L*6mWkl2P;*n|r5Vgik=LDuRy!tDnom`tVe15c8>^t?iD+(kKkMs$x9-6r zkux=@bZ&GDf7PB9*Gk)pEnj!7*f!NYJct>VTubv#bYu-HU-Q#Lc4xRY>=H9HqeMSt zlAWov5?q#sU7cSH%~Gapc+2j`rwaJ)NUH@;(R<)ila<`Cn{8PKW0k94U?Rz6QWVUl cI4G92eLK-_UwZq?h11LR#f&c&j literal 0 HcmV?d00001 diff --git a/Results/mainapp/__pycache__/views.cpython-310.pyc b/Results/mainapp/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6fb33703df3835722d35a30d2f39298bdd20a35a GIT binary patch literal 722 zcma)4&2G~`5MJAH;<^d+5xC|+PMoR=sKSqg)T$zsO3_|i&!}~=yEg-EjLZ}E!Ukcz~(Kr#E zie4)xZ>|LHTP!W&!>@TIwO=OZzNwcHDXV3)8W4W$kp0q7CO5yU>8?FyB(`sg2KlI< z4^?YlxUy@o^=uDbzTW4{wzT{2?EBf&0X{k+cOg{Rp5Q509@)M{?rP7EXRda)2ip`? zTPzm#Q-z;-vbbEOfsYctRx)`+%K5(&QBSfu$B@?T!z7f-E%ntX|FzkYNGA&{LT+1g zLou7%KjhL8p1Oiy1491qr6N)Q8Qlvc_gFN%p??}4DeHCX2NE5Q2lE}cDB3eO;d4j6 t>^z5$NxI3f!Z0W)5z>-7iwP?V+sXDC2VIR%^`~K7{Eo@uEXk5#as$GSlD_}| literal 0 HcmV?d00001 diff --git a/Results/mainapp/admin.py b/Results/mainapp/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/Results/mainapp/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Results/mainapp/apps.py b/Results/mainapp/apps.py new file mode 100644 index 0000000..8aa89a8 --- /dev/null +++ b/Results/mainapp/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class MainappConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'mainapp' diff --git a/Results/mainapp/migrations/__init__.py b/Results/mainapp/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Results/mainapp/models.py b/Results/mainapp/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/Results/mainapp/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Results/mainapp/templates/index.html b/Results/mainapp/templates/index.html new file mode 100644 index 0000000..fd96de2 --- /dev/null +++ b/Results/mainapp/templates/index.html @@ -0,0 +1,118 @@ + + + + + + + + Home + + + + + + + +
+ +
+
+
+

Results System

+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi faucibus elementum diam nec semper. Nullam vestibulum enim eu nisi condimentum, vitae suscipit risus imperdiet.

+
+
+
+ +
+
+
+ + + + + + + diff --git a/Results/mainapp/templates/results.html b/Results/mainapp/templates/results.html new file mode 100644 index 0000000..3e82080 --- /dev/null +++ b/Results/mainapp/templates/results.html @@ -0,0 +1,8 @@ + + + + + + + + Results \ No newline at end of file diff --git a/Results/mainapp/templates/scoreboard.html b/Results/mainapp/templates/scoreboard.html new file mode 100644 index 0000000..2c16d94 --- /dev/null +++ b/Results/mainapp/templates/scoreboard.html @@ -0,0 +1,8 @@ + + + + + + + + Scoreboard \ No newline at end of file diff --git a/Results/mainapp/templates/teams.html b/Results/mainapp/templates/teams.html new file mode 100644 index 0000000..3829af6 --- /dev/null +++ b/Results/mainapp/templates/teams.html @@ -0,0 +1,8 @@ + + + + + + + + Teams \ No newline at end of file diff --git a/Results/mainapp/tests.py b/Results/mainapp/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/Results/mainapp/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Results/mainapp/urls.py b/Results/mainapp/urls.py new file mode 100644 index 0000000..5b6d3cd --- /dev/null +++ b/Results/mainapp/urls.py @@ -0,0 +1,9 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('', views.index, name='index'), + path('results.html', views.results, name='results'), + path('scoreboard.html', views.scoreboard, name='scoreboard'), + path('teams.html', views.teams, name='teams'), +] \ No newline at end of file diff --git a/Results/mainapp/views.py b/Results/mainapp/views.py new file mode 100644 index 0000000..fa9817d --- /dev/null +++ b/Results/mainapp/views.py @@ -0,0 +1,13 @@ +from django.shortcuts import render, redirect + +def index(request): + return render(request, 'index.html') + +def results(request): + return render(request, 'results.html') + +def scoreboard(request): + return render(request, 'scoreboard.html') + +def teams(request): + return render(request, 'teams.html') \ No newline at end of file diff --git a/Results/manage.py b/Results/manage.py new file mode 100644 index 0000000..4fe5c19 --- /dev/null +++ b/Results/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Results.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/specs.txt b/specs.txt new file mode 100644 index 0000000..823211d --- /dev/null +++ b/specs.txt @@ -0,0 +1,30 @@ +Title - Results System +Brief - Obtain, View and Manage Results From Fishing Events + +Target Audience - Angling Trust, Competitions Department +Target Audience Tech Knowledge - Mid to Low + +Notes: + - Pull up the system for an event, input data that is happening in the event. + - Live scoreboard, updated when new data is inserted into the database. + +Assuming the number of members are divised equally amongst the teams - the total number of pegs can be calculated by +multiplying the total number of teams by the amount of members a team + +Example event - teams of 3, 60 teams, 180 members. +Each member gets a physical peg (a peg is used to identify who caught the fish). +Pegs are randomly OR manually assigned to the members. + +Member Data Model +Fields: + - First name + - Last name + - random team number between 1 and number of teams + +Team Data Model +Fields: + - Team number (ID) + - Section character (unique) + +Section Data Model + - Section character (ID) [a,b,c,d,e,etc] (Can't use the letter i) \ No newline at end of file