A 3D globe where your circle’s commits spark beams of light across the world.
- 3D Globe Visualization: Interactive globe displaying commit activity.
- Following Activity: Visualizes commits from people you follow over the last 3 days.
- Real-time Updates: See new commits appear as beams of light on the globe.
- Responsive Design: Works across different screen sizes.
- Frontend: React, Vite
- 3D Graphics: Three.js, React Three Fiber, React Globe GL
- Styling: Vanilla CSS, Framer Motion
- Icons: Lucide React
- Utils: d3-geo, date-fns
- Backend/Auth: Cloudflare Workers
- Node.js (v18 or higher recommended)
- npm or yarn
-
Clone the repository:
git clone https://github.com/hearsilent/CommitCampfire.git cd CommitCampfire -
Install dependencies:
npm install
-
Register a new GitHub App:
- Go to GitHub Developer Settings > New GitHub App.
- Set Homepage URL and Callback URL to
http://localhost:5173or your GitHub Pages URL. - Uncheck Active under "Webhook".
- Under Permissions & events, select:
- Followers: Read-only
- Click Create GitHub App.
- Copy the Client ID and Client Secret.
-
create a
.envfile in the root directory for the frontend:VITE_WORKER_URL=your_cloudflare_worker_url_here VITE_GITHUB_CLIENT_ID=your_client_id_here
-
create a
.dev.varsfile for the Worker backend:GITHUB_CLIENT_ID=your_client_id_here GITHUB_CLIENT_SECRET=your_client_secret_here
Start the development server:
npm run devThe application will be available at http://localhost:5173.
Build the application for production:
npm run buildPreview the production build:
npm run previewDeploy to GitHub Pages:
npm run deployDeploy the Cloudflare Worker:
npx wrangler deploySet up production secrets on Cloudflare:
npx wrangler secret put GITHUB_CLIENT_ID
npx wrangler secret put GITHUB_CLIENT_SECRET