Skip to content

Automatically track and analyze occupancy levels at Northeastern University's recreational facilities

Notifications You must be signed in to change notification settings

Anuttan/GymPulse-NEU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NEU Gym Tracker

Automated system to track and analyze occupancy levels at Northeastern University's recreational facilities. Data is collected hourly during operating hours and stored directly in this repository.

GitHub Workflow Status Dataset Updated

NEU Gym Tracker

Features

  • Real-time tracking of all NEU recreation facilities:
    • Marino Center (all floors)
    • SquashBusters
  • Collects key metrics:
    • Current occupancy count
    • Occupancy percentage
    • Facility status
    • Last update timestamp
  • Automated hourly collection during operating hours
  • Data stored directly in repository as CSV

Live Feed

Gym Occupancy Analysis

Note
You can generate and update this plot by running your local analysis script. Just make sure to commit the updated .png if you want to display the latest results in your README.

Setup

  1. Clone this repository:

    git clone https://github.com/Anuttan/neu-gym-tracker.git
    cd neu-gym-tracker
  2. Create necessary directories:

    mkdir -p .github/workflows data
  3. Copy required files:

    • scraper.py → Root directory
    • scrape.yml.github/workflows/
  4. Push to GitHub:

    git add .
    git commit -m "Initial setup"
    git push

    The GitHub Action will start automatically according to the defined schedule.

Data Format

The collected data is stored in data/facility_data.csv with the following columns:

Column Description
timestamp_utc Time of data collection in UTC
location Name of the facility
last_count Number of people present
status Facility status (Open/Closed)
is_closed Boolean indicating closure status
updated Last recorded update

Project Structure

.
├── .github/
│   └── workflows/
│       └── scrape.yml     # GitHub Actions workflow
├── data/
│   └── gym_occupancy.csv  # Collected data
├── scraper.py             # Main scraping script
├── visual.py              # Visual creation script
└── README.md

Local Development

Install required dependencies:

pip install selenium webdriver_manager gitpython pdfplumber pyppeteer

Run the scraper locally:

python scraper.py

Run the visualiser locally:

python visual.py

Contributing

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b new-feature
  3. Make your changes.
  4. Push your changes:
    git push origin new-feature
  5. Submit a Pull Request.

Acknowledgments

  • Built for the Northeastern University community
  • Data sourced from NEU Recreation

Questions or Issues?

Open an issue in this repository if you have any questions or encounter problems.


Made with ❤️ for Huskies

About

Automatically track and analyze occupancy levels at Northeastern University's recreational facilities

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages