effects Svelte Themes

Effects

Funny sound effects with Svelte

Effects šŸ”Š

A sound effects soundboard built with Svelte 5 and Vite.

🌐 Live demo: chenpeleg.github.io/effects


Features

  • šŸŽµ 25+ one-click sound effects (laughing, screaming, alarms, songs, and more)
  • šŸ—‚ļø Filter sounds by category: General, Funny, Scary, Games, Song, Rude
  • 🌊 Animated wave indicator while a sound is playing
  • ā¹ļø Stop button to interrupt any currently playing sound
  • šŸ“± Responsive layout — works on desktop and mobile
  • šŸ’¾ Optional Firebase backend for saving custom categories (when deployed with Firebase)

Tech Stack

Layer Technology
UI Svelte 5 (compatibility mode)
Build tool Vite 5
Testing Jest 29 + @testing-library/svelte
Hosting GitHub Pages / Firebase Hosting

Getting Started

Prerequisites

  • Node.js ≄ 18

Install dependencies

npm install

Run the development server

npm run dev

The app will be available at http://localhost:5173.


Available Scripts

Script Description
npm run dev Start dev server (Firebase mode)
npm run dev:github Start dev server (GitHub Pages mode)
npm run build Production build
npm run build:pages Production build for GitHub Pages deployment
npm run build:site Production build for Firebase deployment
npm run preview Preview the production build locally
npm test Run the test suite with Jest
npm run test:watch Run tests in watch mode

Project Structure

src/
ā”œā”€ā”€ assets/          # Static assets (audio files, images)
ā”œā”€ā”€ config/          # App configuration (env-aware)
ā”œā”€ā”€ data/            # Sound card definitions
ā”œā”€ā”€ lib/             # Svelte components
│   ā”œā”€ā”€ animation/   # Wave animation component
│   ā”œā”€ā”€ components/  # UI components (cards, header, nav)
│   ā”œā”€ā”€ models/      # Shared types and category definitions
│   ā”œā”€ā”€ router/      # Client-side routing
│   └── style/       # Global styles
ā”œā”€ā”€ provider/        # Firebase provider
ā”œā”€ā”€ services/        # App services (audio, language, …)
ā”œā”€ā”€ store/           # Svelte stores (cards, main state, settings)
└── main.js          # App entry point

Deployment

GitHub Pages

npm run build:pages

The build output lands in build/ and is deployed automatically via GitHub Actions to https://chenpeleg.github.io/effects/.

Firebase Hosting

npm run build:site

Deploy the build/ directory with the Firebase CLI. Firebase mode enables the optional user-login and category-saving features.


License

MIT

Top categories

Loading Svelte Themes