Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/miltonchung/musicloud

Simple Music Player website that allows the user to choose and play music from the library.
https://github.com/miltonchung/musicloud

css html music-player react reacthooks sass

Last synced: 4 days ago
JSON representation

Simple Music Player website that allows the user to choose and play music from the library.

Awesome Lists containing this project

README

        

# MusiCloud

Simple Music Player website that allows the user to choose and play music from the library.

Link: https://musicloudr.netlify.app/

## Table of contents

- [About](#about)
- [Technologies](#technologies)
- [Features](#features)
- [Challenges](#challenges)
- [Setup](#setup)
- [Inspiration](#inspiration)

## About

This react project utilizes the basics of react like useEffect, useState, useRef while building out a music player app. It allows users to select any song from the library and play the song, skip forward/backward to another song, play/pause, autoplay, and more! I learned many things like how to structure a react codebase, how components work, how to pass props, and more.

## Technologies

Project is created with:

- React
- React Hooks (useEffect, useState, useRef)
- Sass
- HTML/CSS

## Features

- Play/pause music
- Click the music track to go to a certain time in the song
- Skip forward/backward songs
- Adjust volume using the volume slider
- Dark mode
- Music visualizer
- Mobile friendly

## Challenges

- The visualizer was hard to work with because it uses the HTML canvas property and making it responsive.
- Customizing the input sliders to look more elegant was a challenge especially making it look the same in different browsers
- First time implementing the audio tag in HTML and React respond to user input

## Setup

To run this project, install it locally using npm and go into the root folder:

```
$ npm install
$ npm start
```

## Inspiration

This app is built on top of Dev Ed's React tutorial.