CI Verification / Lint & Extension Integrity Check (push) Successful in 2m39s
129 lines
6.5 KiB
Markdown
129 lines
6.5 KiB
Markdown
# 🌟 Brightwheel Exporter (Chrome Extension)
|
||
|
||
[](LICENSE)
|
||
[](manifest.json)
|
||
[](#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.**
|
||
|
||

|
||
|
||
---
|
||
|
||
## ✨ 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 **Download ZIP** button on the repository page → **[Download ZIP](https://git.pengzhan.dev/haopengzhan/brightwheel-exporter/archive/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` folder.
|
||
7. 🎉 The **Brightwheel Exporter** icon will now appear in your browser toolbar!
|
||
|
||
### Option B: Clone via Git (For Developers)
|
||
|
||
```bash
|
||
git clone https://git.pengzhan.dev/haopengzhan/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.
|