/beats-by-friends

Welcome to beats by friend. With this app you can create beats and collaborate with your friends online

Primary LanguageJavaScriptMIT LicenseMIT

🎶👫Beats by friends/with friends👫🎶

Welcome to beats by friends, a web application which makes it possible to create beats with your friends. Samples get added to a loop that keeps repeating over and over. This way you can create a simple beat together with your friends.

Beats by friendz

👨‍💻Installation👩‍💻

To install this project you will need a version of npm and node.

The command for installing this project is:

npm install

For running the project in production mode use the following command:

npm run start

For running the project in development mode (using nodemon for server restart on save) use the following command:

npm run dev

🌳Data lifecycle🌳

image

Features

🔃Music loop🔃

  • Music loop of 4/4 rythm
  • Remove things from loop
  • Let people work together on a piece
  • Add bpm/tempo modifier

🎸Jam room🎸

  • Create jam room
  • Join jam room

📃Research📃

🔗Sockets and realtime🔗

Before starting this project, my knowledge on sockets did not exist. The flow of working with sockets is something to get used to since there is a lot of back and forth logic that goes into using these. For sockets I used the package: socket io. A socket is basically the bridge that connects the server and the client in real time which then allows users to send updates on the client to the server and the server to send updates to all the connected clients.

💾Mongodb + mongoose💾

This application also makes use of mongoose and mongodb to store the data of the jam rooms. I would've liked to do more with mongo db for example, using GridFS for storing music samples and the beats created in a room.

What it could have been

If you want to read about the amazing features this project could've had if I decided to give up my personal time. Click here

📃Resources📃