ARCHIVED: This project is no longer maintained and the site/content is not up anymore.

makes.audio

Build Status Coverage Status Dependency Status Build Status

Easy synchronization of a local folder of audio files with an online bucket that supports URL shortening, sharing tools, and a slick, personalized domain.

See this app on the web: https://makes.audio

At the moment, an invite code is required to join the production app.

Demo

Goals

In the wake of Dropbox removing support for public folders, it's tricky to find a comparable tool for managing and sharing quick demos, snippets, or full audio tracks with friends and fans. Sites like clyp.it and instaud.io are feature-rich and provide high availability, but may sacrifice quality and customization.

  1. Focus on personalization
  2. An intuitive and pleasant UI
  3. Ease of organization

The goals of makes.audio are not to provide a platform for discovery, everyday streaming, or personal expression.

Tech

makes.audio is an API-driven Node/Express application. The frontend is a Vue/Vuex application written in CoffeeScript. The goal is to ship objects to S3.

Development

Node v8+ is required.

To run locally, clone and install dependencies:

git clone git@github.com:austindebruyn/makes.audio
cd makes.audio
npm i -g yarn
yarn

To set up the database locally, make sure you install MySQL separately.

node bin/createDatabase
node bin/migrate

To run the server:

npm i -g nodemon
nodemon

The app will listen on https://localhost:3000.

To build the frontend:

yarn build

For everyday development, yarn watch and nodemon in separate tabs are recommended.

Production

In production, these jobs should be run on a tidy schedule:

NODE_ENV=production bin/cleanupDeletedAudios

Tests

For backend unit tests:

yarn test:api

For frontend unit tests:

yarn test:ui

For the integration suite, you will need to ensure that:

  1. You have placed 127.0.0.1 test-makes.audio in your hostfile
  2. You are running a Selenium server locally.
yarn test:integration

License

All rights reserved.