Sunbird Scanner is a custom built tool to scrape GoFundMe campaigns using Puppeteer, and then reports campaign stats to a Supabase table.
- Uses a loader script to support multiple tables
- Loads links directly from tables, using Supabase API
- Performant and fast
- Cross-platform
- Supports both Chuffed and GoFundMe
This guide will walk you through the steps needed to set up the project. No prior experience is necessary—just follow the instructions below!
You'll need the following installed on your computer:
- Git: A tool to clone and manage the project code.
- Node.js: A platform for running JavaScript code.
- Supabase Account: A backend-as-a-service platform where you'll set up your database.
Git is a tool that helps you download and manage the project code.
- Visit git-scm.com.
- Download the version for your operating system.
- Run the installer and follow the default setup options.
- After installation, open a terminal and type
git --version
to confirm Git is installed.
Bun is a fast all-in-one JavaScript runtime and toolkit.
- Visit bun.sh
- Install Bun using the following command:
# For Windows (PowerShell): powershell -c "irm bun.sh/install.ps1|iex" # For macOS or Linux: curl -fsSL https://bun.sh/install | bash
- After installation, open a terminal and type
bun --version
to confirm installation.
- Open a terminal or command prompt.
- Navigate to the folder where you'd like to store the project:
cd path/to/your/folder
- Run the following command to clone the project:
git clone https://github.com/Sneethan/sunbird_scanner
- Navigate into the project folder:
cd sunbird_scanner
The project dependencies are managed by Bun.
- In the project folder, run:
This will download and set up everything needed.
bun install
Supabase is a service that provides a database and API for your project.
- Go to supabase.com and sign up for a free account.
- Create a new project:
- Enter a project name.
- Choose a database region close to you.
- Set a database password (keep this safe!).
- Once the project is created, go to the "Table Editor" tab.
- Create a new table with the following schema:
Column Name | Data Type | Default | Constraints |
---|---|---|---|
id |
int4 |
auto |
Primary Key |
title |
text |
||
link |
text |
||
currency |
text |
||
target |
int4 |
||
raised |
int4 |
||
donations |
int4 |
||
updated_at |
timestampz |
now() |
Automatically Updated |
- Save the table.
- In your Supabase dashboard, go to Settings > API.
- Copy the
Project URL
andAnon Key
. - Leave this page open, and paste the values into your terminal when requested.
run.js
will ask for them automatically.
Now, you have everything set up. Run your project using:
bun run.js
Or use the provided batch script:
run.bat
This code may break at any time if GoFundMe updates their site, and may have bugs and instablities. If you find bugs and know how to fix them, pull requests are very much appreciated.
Happy coding! 🎉