GithubHelp home page GithubHelp logo

audio-player's Introduction

Audio player

This repository contains the source code for the Audio Player challenge proposed by Significa. The project includes an audio player to play songs from the data folder. You can play, pause, skip forward and backward, adjust volume, and view song information.

You can find more details above. ⬇️

Layout Preview

Application Layout

You can find the prototype design, which is based on where

Additionally to the prototype, I added a play icon that you can find in the folder /assets/icons.

Technologies Used

Here you can find the framework/tools, that were chosen to build the solution:

  • React - used as the main framework to construct the application logic;
  • Vite - used to create the boilerplate and run the project;
  • Tailwindcss - used to build the project styles quickly;
  • Wavesurfer/react - used to create the waveform of each song and manage the sound playback;
  • TypeScript - used to maintain the application complexity as long as the project grows.

Getting Started

  1. Clone the repository: git clone https://github.com/edupaulos/audio-player.git;
  2. Enter in the project folder: cd audio-player;
  3. Run yarn wizard ✨ -> this will install dependencies and run the project;

Usage

  1. After the wizard command you can only run yarn dev to start the project
  2. Preview in http://localhost:5174/

To be improved

  • Optimize the wavesurfer implementation;
  • Add unit test with istanbul and coverage with istanbul
  • Implement shuffle and repeat;
  • On music completed change to next one;
  • Implement a UI volume controller closer to the prototype. This may be easier with a component lib since the tailwind doesn't provide much customization to the input rage.

Audio assets

audio-player's People

Contributors

edupaulos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.