A real-time donation tracker that displays total donations visually in a jar. Built with Node.js, Express, and Socket.IO.
- Real-time donation updates using WebSocket.
- Dynamic and animated donation jar visualization.
- Configurable donation goals and initial values via
.envfile.
- Clone the repository:
git clone https://github.com/StratosMylonas/donation-jar-tipeeestream.git
cd donation-jar- Install dependencies:
npm install- Create a .env file in the root directory and configure
PORT=3000
TIPEEESTREAM_API_KEY=<your-api-key>
GOAL_TITLE="Your Goal Title"
INITIAL_GOAL=0
TOTAL_GOAL=1000- Start the server:
npm start- Open your browser and navigate to (or add a new Browser Source to OBS pointing to):
http://localhost:3000- PORT: The port on which the server runs (default: 3000).
- TIPEEESTREAM_API_KEY: API key for TipeeeStream WebSocket integration.
- GOAL_TITLE: Title of the donation goal.
- INITIAL_GOAL: Initial donation amount.
- TOTAL_GOAL: Target donation amount.
- Express: Web server framework.
- Socket.IO: Real-time WebSocket communication.
- Axios: HTTP client for API requests.
- dotenv: Environment variable management.
- The server connects to the TipeeeStream WebSocket API to listen for donation events.
- When a new donation is received, the server updates the total donation amount and broadcasts the update to all connected clients.
- The client-side script dynamically updates the donation jar visualization.
This project is licensed under the MIT License. See the LICENSE file for details.


