TapIN MMA — Code Directory

Overview
This ZIP contains the complete source code and deployable website files for the TapIN MMA capstone project.
The application is a Streamlit web app. The deployable website files are located in Code/WebSite.

Directory Structure

Code/
  README.txt
    - This file. Explains the project directory structure and how to run/deploy.

  WebSite/
    - All files required to run the Streamlit website.

    app.py
      - Main Streamlit entry point. Streamlit runs this file.

    config.py
      - Shared configuration (themes, weight-class labels, helper functions).

    services.py
      - Service layer (API calls, caching, odds/events fetching, subscribers CSV logic, Mailjet emailing, scheduler).

    ui_tabs.py
      - UI layer (tab classes and Streamlit rendering for each section of the app).

    requirements.txt
      - Python dependencies required to run the website.

    .streamlit/
      secrets.toml
        - Local-only configuration for API keys and admin password.


How to Run Locally
1) Open a terminal and cd into Code/WebSite
2) Install dependencies:
   pip install -r requirements.txt
3) Run the app:
   streamlit run app.py

How to Deploy (Streamlit Cloud)
1) Push Code/WebSite to a GitHub repo.
2) In Streamlit Cloud, set the main file path to: app.py
3) Add secrets in Streamlit Cloud Settings → Secrets (do not commit secrets.toml).
