Skip to content

ljpurcell/sharks-app

Repository files navigation

SharksApp

NOTE: Removed from production middle of 2024 as the team has disbanded.

A Python web app for your friendly neighbourhood Sharks basketball team. Built using the Flask framework, this project was designed to help manage players and the team. It includes features such as web scraping, user authentication, notifications, and security measures.

Purpose

Provide a solution to the following user problems:

  1. Ensuring all team members were notified of the game details each week.
  2. Confirm who was available to play.
  3. Record the votes after each week for end of season MVP award, replacing Google Forms.

Screenshots

Screenshot 2024-04-25 at 9 51 25 AM Screenshot 2024-04-25 at 9 51 44 AM Screenshot 2024-04-25 at 10 24 34 AM Screenshot 2024-04-25 at 10 23 00 AM Screenshot 2024-04-25 at 10 26 33 AM

Built using

  • Python (with type annotations)
  • Flask
  • Tailwind CSS
  • JavaScript/TypeScript
  • PostgresSQL
  • Redis
  • Heroku for deployment (not currently active)

Technical features

  • Webscraper to collect the game details using the beautifulsoup package.
  • Basic user authentication and session-management through flask_login as well as email and mobile verification with itsdangerous.
  • Email and SMS notifications using flask_mail and twilio respectively.
  • Scheduled tasks via APScheduler.
  • Task queue using redis and rq.
  • SQLAlchemy and flask_sqlaclhemy for database ORM, which made it easy to swap from SQLite (used for prototype) to Postgres (deployment).