WebsiteRequirements
BACKGROUND
We run a snooker and billiards association. The members of HBSA are individual social Clubs.
There are around 40 Clubs, located across the Huddersfield area. Each Club has between 1 and 11 teams based at that Club, and each Club has between 1 and 3 snooker/billiards tables that are available for matches.
Each team has a pool of between 5 and 20 players that are registered at that start of each season and can be selected to play matches.
The season runs from September to April each year.
There are 3 entirely separate leagues, Snooker, Veterans Snooker and Billiards.
-
Snooker has 6 sections, with 12-14 teams in each section. Matches consists of 4 players vs 4 players playing one frame of snooker each.
-
Veterans Snooker has 3 sections, with approx. 10 teams in each section. Matches consists of 3 players vs 3 players playing one frame of snooker each.
-
Billiards has 1 section, with approx. 10 teams in each section. Matches consists of 3 players vs 3 players, playing one game of billiards, first to reach 200 points wins.
Within each section, teams (usually) play each other twice each season, once at home and once away.
Matches are played using a handicap system. Handicaps are based on the same principle used in golf (albeit a different method), which is reviewed automatically on the website using a bespoke coded algorithm, based on previous results.
WHAT ARE WE TRYING TO DO
We need to replace this website: https://huddersfieldsnooker.com/Home.aspx
The website you are on now is the beginnings of a draft replacement.
The hard part though, is the clever manipulation of data (saving many person-hours) that is done automatically on https://huddersfieldsnooker.com
The sports league is underpinned by relational databases at several levels, primarily the following hierarchies:
Clubs --- Teams --- Players
Leagues----Divisions----Teams
Team----Team_captain
Club---Club_captain
but also several others.
KEY REQUIREMENTS
To facilitate the smooth running of all 3 of our leagues and reduce workload at the centre. Specifically:
0. Three levels of sign-on. Club user, team user and admin. And guest browsing.
1. Club user to provide Team registrations at season start and pay registration fees on-line
2. Ability of admin user to amend all key datasets e.g. allocate team to Division, change player details, add notification posts
3. Team user to have ability to enter match results, i.e. "Team A vs Team B" by selecting Clubs, teams & players from dependent drop down lists, then entering match scores. Once match results are entered, the Team user 'submits them' and they are auto-written to a results database in the cloud
4. Summary information / dashboards made available to users from results database produced in previous step (eg league tables, player stats, etc) and presented on website pages, all done automatically
5. Player handicaps to be auto-reviewed after certain number of games, based on previous results and uses a complex algorithm
6. Ability for admin users to communicate posts to players (eg links to social media, auto-emails, text messaging, push notifications?) without having to rely on them visiting the website? Also to communicate based on certain events happening.
7. Potential for expansion of the above to include 10+knockout competitions in team, doubles and single format
8. Website pages must be configurable by someone who isn't a web-programmer. The entirety of the solution must be supportable by a huge resource pool that can be sourced on line through services such as FIVERR.com
OPTIONS IDENTIFIED TO DATE
1. Move to a white labelled sports site. eg leaguesnooker.co.uk or http://sites.theleaguecrowd.com/
2. Continue to maintain the existing site https://huddersfieldsnooker.com
Problem. It's written in ASP.NET. There are APPROX 170,078, lines of code broken down as follows:
VS 2019 (The development environment)
Web pages(HTML, ASPX & CSS) 56,258
CODE behind (VB, C#) 59,847
Database (Schemas, routines etc) 53,973
Number of individual web pages:
The main site: 52
The mobile site: 29
Admin Site : 61
3. Purchase code from a similar site already developed, and tailor it to our league.
4. Completely redevelop the functionality of the existing site (possibly building up over time)
5. Use Social media and spreadsheets instead
Comments on options: Option 5 is not preferred due to manual work overhead. Option 3 will require customisation and may be costly. Option 2 is only a stop-gap solution due to old tech(?). Option 1 could work but could be expensive and we will lose functionality. Option 4 is therefore preferred.
WHAT WE ARE LOOKING FOR IN THE FIRST INSTANCE.
Directional advice - what sort of solution should we pursue, assuming we go with option 4?
Should we use any of the products such as KNACK, CASPIO, AIRTABLE, SPREADSHEET CONVERTOR, APPSHEETS, etc etc etc if so which and why?
Should we use WIX, WORDPRESS or other?
Constraints: we are a non-profit Association with very limited budget.