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
beautifulsouppackage. - Basic user authentication and session-management through
flask_loginas well as email and mobile verification withitsdangerous. - Email and SMS notifications using
flask_mailandtwiliorespectively. - Scheduled tasks via
APScheduler. - Task queue using
redisandrq. SQLAlchemyandflask_sqlalchemyfor database ORM, which made it easy to swap from SQLite (used for prototype) to Postgres (deployment).