SharksApp
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:
- Ensuring all team members were notified of the game details each week.
- Confirm who was available to play.
- Record the votes after each week for end of season MVP award, replacing Google Forms.
Built using
- Python (with type annotations)
- Flask
- Tailwind CSS
- JavaScript/TypeScript
- PostgresSQL
- Redis
- Heroku for deployment (not currently active)
Technical features
- Web scraper 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 withitsdangerous
. - Email and SMS notifications using
flask_mail
andtwilio
respectively. - Scheduled tasks via
APScheduler
. - Task queue using
redis
andrq
. SQLAlchemy
andflask_sqlalchemy
for database ORM, which made it easy to swap from SQLite (used for prototype) to Postgres (deployment).