Files
brightwheel-exporter/README.md
T

129 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🌟 Brightwheel Exporter (Chrome Extension)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Manifest V3](https://img.shields.io/badge/Manifest-V3-success.svg)](manifest.json)
[![Platform](https://img.shields.io/badge/Platform-Chrome%20Extension-orange.svg)](#installation)
> **Save and back up all your child's precious preschool & daycare memories, high-resolution photos, HD videos, daily care logs, and developmental milestones from Brightwheel.**
![Brightwheel Exporter Dashboard Preview](screenshots/store_screenshot_1280x800.png)
---
## ✨ Features
- 📸 **High-Resolution Media Archiver**: Downloads original, full-resolution photos and HD videos organized neatly into date folders (`/photos/YYYY-MM/` and `/videos/YYYY-MM/`).
- 📂 **Direct Local Folder Streaming**: Streams files directly to your chosen local folder via the **File System Access API**—no browser memory crashes or ZIP size limits!
- 📦 **Instant ZIP Archive Export**: One-click bundle creation using zero-compression `STORE` packaging for lightning-fast downloads.
- 🗓️ **Complete Daily Care Records**: Captures meals, exact nap start/end times and calculated durations, diaper & potty logs, check-in/out records, and medication logs.
- 🎯 **Milestones & Learning Observations**: Backs up developmental milestones, curriculum tags, and teacher notes.
- 🌐 **Interactive Offline Timeline Viewer**: Bundles a standalone, elegant `index.html` viewer inside your export so you can search captions, filter events, and relive memories locally with no internet required.
- 📊 **Spreadsheet & Developer Friendly**: Generates a clean `activities.csv` (compatible with Excel, Numbers, and Google Sheets) as well as unified `activities.json` / `manifest.json` files.
- 🛡️ **100% Private & Client-Side**: Operates entirely in your browser using your active logged-in Brightwheel session. No passwords, credentials, or child data are ever transmitted to any third-party servers.
- ⚡ **Smart Throttling & Rate-Limiting**: Built-in exponential backoff automatically handles API pacing and prevents HTTP 429 rate limit errors.
---
## 🚀 Installation (Takes 30 Seconds)
### Option A: Download ZIP (No Coding or Git Required)
1. Download the latest source code by clicking the green **Code** button at the top of this page → **[Download ZIP](https://github.com/CoderSherlock/brightwheel-exporter/archive/refs/heads/main.zip)**.
2. Unzip the downloaded `.zip` file on your computer.
3. Open Google Chrome and navigate to:
```
chrome://extensions/
```
4. Enable **Developer mode** using the toggle switch in the top-right corner.
5. Click the **Load unpacked** button in the top-left corner.
6. Select the unzipped `brightwheel-exporter-main` folder.
7. 🎉 The **Brightwheel Exporter** icon will now appear in your browser toolbar!
### Option B: Clone via Git (For Developers)
```bash
git clone https://github.com/CoderSherlock/brightwheel-exporter.git
```
Then follow steps 3–6 above selecting the cloned directory.
---
## 📖 How to Use
1. Log into your Brightwheel account in Chrome at [https://schools.mybrightwheel.com](https://schools.mybrightwheel.com).
2. Navigate to your child's page (or open any Brightwheel feed).
3. Click the **Brightwheel Exporter** extension icon in your Chrome toolbar (or click the floating **"Export Brightwheel Data"** button on the bottom right of the page).
4. Click **Open Exporter Dashboard**.
5. In the Dashboard:
- Select your child from the dropdown (or enter a custom student UUID).
- Choose your date range (**All Time**, **This Year**, or **Custom Date Range**).
- Choose your save mode:
- **Save Directly to Local Folder** *(Recommended for large feeds)*
- **Download as ZIP Archive**
- Select the content categories and export formats you wish to include.
- Click **Start Complete Export**.
6. Monitor the real-time progress bar and log window as your files and media are safely saved to your computer.
---
## 📁 Exported Folder & Archive Structure
```
[ChildName]_[YYYY-MM-DD]/
├── index.html # Interactive offline timeline viewer
├── activities.csv # Spreadsheet for Excel / Google Sheets / Numbers
├── activities.json # Complete unified structured data records
├── exporter_job_info.json # Metadata summary & statistics of the export
├── photos/
│ ├── 2026-08/
│ │ ├── 2026-08-20_abc123.jpg
│ │ └── ...
│ └── 2026-07/
└── videos/
└── 2026-08/
└── 2026-08-15_xyz789.mp4
```
---
## 🔒 Privacy & Security
- **No Remote Servers**: This extension is 100% open source and runs entirely on your local machine.
- **Session Authentication**: Uses your existing Brightwheel browser cookies securely. No logins or API keys are ever stored or shared.
- **Direct S3/CDN Downloads**: Media files are downloaded directly from Brightwheel's official AWS S3 buckets and CloudFront distribution endpoints straight to your disk.
- **Auditable Source Code**: Because you load this unpacked from source, you can review every line of code in this repository.
---
## ❓ Frequently Asked Questions (FAQ)
<details>
<summary><strong>Is my family's data safe and private?</strong></summary>
Yes, 100%. This tool has no external backend, databases, or analytics. Everything runs entirely within your browser on your own machine. Data requests travel directly between your browser and Brightwheel/S3.
</details>
<details>
<summary><strong>What is the best export mode for large photo & video feeds?</strong></summary>
We strongly recommend choosing <strong>"Save Directly to Local Folder"</strong> in the dashboard. This streams media files straight to your hard drive using the modern File System Access API without storing giant ZIP files in browser RAM.
</details>
<details>
<summary><strong>How do I view the exported offline archive?</strong></summary>
Inside your exported folder or unzipped archive, double-click the <code>index.html</code> file. It opens a standalone gallery timeline that allows you to search captions, play videos, and filter milestones offline with no internet required.
</details>
---
## ⚠️ Disclaimer
This project is an independent, community-driven open-source tool. It is **not affiliated with, endorsed by, sponsored by, or associated with Brightwheel** or its parent companies. "Brightwheel" is a registered trademark of its respective owner.
---
## 📄 License
Distributed under the [MIT License](LICENSE). See `LICENSE` for more information.