feat: prepare repo for release with sanitized docs, license, pre-commit hook, and CI/CD workflows
This commit is contained in:
@@ -1,58 +1,70 @@
|
||||
# Brightwheel Memories & Reports Exporter Chrome Extension
|
||||
# 🌟 Brightwheel Exporter (Chrome Extension)
|
||||
|
||||
A Chrome Extension (Manifest V3) that allows parents and guardians to bulk export all of their children's memories, high-resolution photos, videos, daily care reports (meals, naps, potty), learning milestones, and activity manifests from Brightwheel into an organized offline ZIP archive.
|
||||
[](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
|
||||
|
||||
- **Full Data Manifest**: Exports complete student records, activities, and teacher notes in structured `manifest.json` format.
|
||||
- **High-Resolution Media**: Downloads original full-size photos and videos organized neatly by year and month (`/YYYY/MM/photos/` & `.../videos/`).
|
||||
- **Daily Care Logs**: Captures meal entries, nap start/end times and durations, diaper/potty logs, and medication logs.
|
||||
- **Learning Milestones**: Backs up developmental milestones, curriculum tags, and teacher observations.
|
||||
- **Attendance & Communication**: Includes check-in/out records, health screenings, and message history.
|
||||
- **Spreadsheet Ready**: Generates an `activities.csv` spreadsheet compatible with Microsoft Excel, Numbers, and Google Sheets.
|
||||
- **Offline Interactive Timeline Viewer**: Bundles a standalone `index.html` inside the exported ZIP so you can browse your child's photos, search captions, and filter events locally on your computer with no internet required.
|
||||
- **Safe & Private**: Runs 100% locally in your browser. Seamlessly uses your active Brightwheel logged-in session cookies without asking for passwords or transmitting your family's data to third parties.
|
||||
- **Smart Rate-Limiting**: Includes automatic exponential backoff (handling HTTP 429 throttling) and configurable pacing delays.
|
||||
- 📸 **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 (Load Unpacked in Chrome)
|
||||
|
||||
1. Open Google Chrome and navigate to `chrome://extensions/`.
|
||||
2. Turn **ON** the **Developer mode** toggle in the top-right corner.
|
||||
3. Click the **Load unpacked** button in the top-left corner.
|
||||
4. Select this directory:
|
||||
1. **Clone or download this repository:**
|
||||
```bash
|
||||
git clone https://github.com/CoderSherlock/brightwheel-exporter.git
|
||||
```
|
||||
/Users/haopengzhan/Documents/MyGit/brightwheel-exporter-chrome-extension
|
||||
2. Open Google Chrome and navigate to:
|
||||
```
|
||||
5. The **Brightwheel Memories & Reports Exporter** icon will now appear in your Chrome toolbar!
|
||||
chrome://extensions/
|
||||
```
|
||||
3. Enable **Developer mode** using the toggle switch in the top-right corner.
|
||||
4. Click the **Load unpacked** button in the top-left corner.
|
||||
5. Select the cloned `brightwheel-exporter` directory.
|
||||
6. The **Brightwheel Exporter** icon will now appear in your browser toolbar!
|
||||
|
||||
---
|
||||
|
||||
## 📖 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 feed page (e.g. `https://schools.mybrightwheel.com/students/edda433b-2a24-4da7-bbd5-9f131b4b2565/feed`).
|
||||
3. Click the **Brightwheel Exporter** icon in your browser toolbar (or click the floating **"Export Brightwheel Data"** button on the bottom right of the page).
|
||||
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 (or enter a custom student UUID).
|
||||
- Choose your date range (**All Time**, **This Year**, or **Custom**).
|
||||
- Select the content categories and export formats you want.
|
||||
- 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. The extension will automatically harvest activities, download media with live progress tracking, and generate your downloadable ZIP archive!
|
||||
6. Monitor the real-time progress bar and log window as your files and media are safely saved to your computer.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Exported Archive Structure
|
||||
|
||||
Inside the downloaded `.zip` file, you will find:
|
||||
## 📁 Exported Folder & Archive Structure
|
||||
|
||||
```
|
||||
[ChildName]_[YYYY-MM-DD]/
|
||||
├── index.html # Offline interactive timeline viewer
|
||||
├── manifest.json # Complete raw structured data
|
||||
├── activities.csv # Spreadsheet for Excel / Google Sheets
|
||||
├── 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
|
||||
@@ -67,5 +79,18 @@ Inside the downloaded `.zip` file, you will find:
|
||||
|
||||
## 🔒 Privacy & Security
|
||||
|
||||
- **Zero Data Collection**: This extension does not send any personal data, photos, credentials, or cookies to external servers. All requests happen strictly between your browser and Brightwheel/AWS S3.
|
||||
- **Local Packaging**: The ZIP compression and HTML viewer creation happen entirely in your local browser memory using client-side JSZip.
|
||||
- **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.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 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.
|
||||
|
||||
Reference in New Issue
Block a user