An open API service indexing awesome lists of open source software.

https://github.com/roileo/octo-bpm

🎵 BPM counter app
https://github.com/roileo/octo-bpm

bpm music

Last synced: 3 months ago
JSON representation

🎵 BPM counter app

Awesome Lists containing this project

README

          

# Octo-bpm 🎵

A simple, responsive BPM (Beats Per Minute) calculator built with Nuxt and TypeScript. This application allows users to tap a rhythm using either a button or spacebar to calculate the BPM of music or any rhythmic pattern.

Screenshot

![Screenshot 2025-03-06 at 17-30-00 Next](https://github.com/user-attachments/assets/e25e74c7-ed78-43e3-9e5b-b6603c9d7a78)

## Features

- Real-time BPM calculation
- Tap input via button or spacebar
- Visual feedback with beat strength indicator
- Persistent BPM display until manual reset
- Responsive design for mobile and desktop
- Built with TypeScript for type safety
- Modular architecture with Vue 3 Composition API

## Tech Stack

- [x] 🪲 [Typescript](https://www.typescriptlang.org/)
- [x] 💚 [Nuxt](https://nuxt.com//)
- [x] 🌊 [Nuxt UI](https://ui.nuxt.com/)
- [x] ✨ [Eslint](https://eslint.org/) & [Prettier](https://prettier.io/)
- [x] 🐕 [Husky](https://github.com/typicode/husky) git hooks

## Getting Started

Make sure to install the dependencies with [pnpm](https://pnpm.io/installation#using-corepack)

### 1. Clone the Repo

Start by cloning this repo to your local machine and navigating into the directory.

```bash
git clone https://github.com/roiLeo/octo-bpm
cd octo-bpm
```

### 2. Install Dependencies

Then, install the project dependencies:

```bash
pnpm install
```

### 3. Run the development server

```bash
pnpm dev
```

### 4. Build for production

```bash
pnpm build
```

## Deployment

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/roiLeo/octo-bpm) [![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/roiLeo/octo-bpm)

Checkout the [deployment documentation](https://nuxt.com//guide/deploy/presets) for more information.