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.
- 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
Note
You can generate and update this plot by running your local analysis script. Just make sure to commit the updated.pngif you want to display the latest results in your README.
-
Clone this repository:
git clone https://github.com/Anuttan/neu-gym-tracker.git cd neu-gym-tracker -
Create necessary directories:
mkdir -p .github/workflows data
-
Copy required files:
scraper.py→ Root directoryscrape.yml→.github/workflows/
-
Push to GitHub:
git add . git commit -m "Initial setup" git push
The GitHub Action will start automatically according to the defined schedule.
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 |
.
├── .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
Install required dependencies:
pip install selenium webdriver_manager gitpython pdfplumber pyppeteerRun the scraper locally:
python scraper.pyRun the visualiser locally:
python visual.py- Fork the repository.
- Create a new branch:
git checkout -b new-feature
- Make your changes.
- Push your changes:
git push origin new-feature
- Submit a Pull Request.
- Built for the Northeastern University community
- Data sourced from NEU Recreation
Open an issue in this repository if you have any questions or encounter problems.
Made with ❤️ for Huskies

