Giter Club home page Giter Club logo

hills-draw-calendar's Introduction

Contributors Forks Stargazers Issues GPL-3.0 License LinkedIn

Hills Basketball Draw Feed Calendar

Add your Hills Hornets basketball draw to you calendar.

The way the Hills Hornets website organises the draw information makes it a hasstle to lookup your games every week. Especially if you have a number of famility member who play in different teams. This project creates a lambda function that runns each day that reads the draw for every team in the compition and creates a calendar that can be subscribed to via a URL.

Calendar

Hills Website API

The Hills website populates the draw page by calling the following API endpoints.

  • https://hillshornets.com.au/members/api/draw/seasons
  • https://hillshornets.com.au/members/api/draw/seasons/<seasonId>/divisions
  • https://hillshornets.com.au/members/api/draw/seasons/divisions/<divisionId>/draw
  • https://hillshornets.com.au/members/api/draw/seasons/divisions/<divisionId>/teams

Known Issues

  • There is no unique Team ID exposed by the API. Teams are identified by the combination of the SeasonID, DivisionID, and Team Name. This means that of there is a redraw that moves your team to another division or a new season starts, it will ceate a new calendar with a new filename. You will need to get the new URL and re-subscribe to your calendar.

hills-draw-calendar's People

Contributors

dfevre avatar

Watchers

 avatar

hills-draw-calendar's Issues

Display bye games

Right now the calendar will be blank for teams that have a bye. The only way I can think that would make sense for a bye on a calendar is to make it an add-day event since a bye can't have a time.

It's going to be a little tricky finding the byes in the data since the bye is repeated in every draw entry rather than having the draw organised by rounds with each round containing a list of a games. If it was organised by rounds, each round could have a bye team. We're probably going to have to write some slightly funky code to find each unique bye.

Location should link to Maps app

The location in the calendar items are text only. When creating a calendar item with a location via the native Calendar app in iOS the location will be a link that you can tap on to get directions. It also allows calendar notifications when it's time to leave.

In iOS this is done my keeping the iCalendar LOCATION property as a string but adding a X-APPLE-STRUCTURED-LOCATION property. There are some details at collective/icalendar#116.

Create a way to find a team's calendar URL

Right now, I need to find a team's URL and provide it to team members. It would be better if there was a simple website that allowed people to choose a season + division + team and for the site to display the link for that team.

Add the age group to the summary

Some teams use the same name in multiple age groups so it would be good to include info about the division in the calendar. The division names are too long to put there but most of them begin with the age group.

E.G U18 Boys C5 Friday (Born 2005 or later) will take too much room in the summary but we could just include the U18.

Be able to run in the cloud

So far this is a series of Python scripts that I have to run manually. It need to be able to run as something like an AWS Lambda function that can be scheduled to run regularly in case the draw ever changes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.