Self-paced

Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.

Bootcamp

Learn live

Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.

Upcoming live events

Learning library

For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.

It makes sense to start learning by reading and watching videos about fundamentals and how things work.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Search from all Lessons


LoginGet Started

Register to 4Geeks

← Back to Projects

Audio player like Spotify with React.js

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Weekly Coding Challenge

Every week, we pick a real-life project to build your portfolio and get ready for a job. All projects are built with ChatGPT as co-pilot!

Start the Challenge

Podcast: Code Sets You Free

A tech-culture podcast where you learn to fight the enemies that blocks your way to become a successful professional in tech.

Listen the podcast

Let's create a MP3 player that works similar to Spotify Todo List.

The buttons should always remain at the bottom of the viewport (use position fixed for that). You only need to implement the Play, Pause, Next and previous buttons.

🌱 How to start this project

Do not clone this repository.

The first step to start coding is cloning the react.js boilerplate on your local computer or opening it using gitpod.

a) If using Gitpod (recommended) you can clone the boilerplate by clicking here.

b) If working locally type the following command from your command line:

1$ git clone https://github.com/4GeeksAcademy/react-hello

πŸ’‘ Important: Remember to create a new repository, update the remote (git remote set-url origin <your new url>), and upload the code to your new repository using add, commit and push.

πŸ“ Requirements

  • List the songs from the Sounds API using the Fetch API.
  • When the user clicks on a song, the player it must start playing it.
  • When the user clicks on the "next" button the player should start playing the next song from the list, if there is no next song then it should start over by playing the first song of the list, the same applies for the "previous" button.
  • Use the react ref attribute to get the audio tag from the DOM.
  • Make sure to have only one <audio> tag on the entire project, use ref to change its src url.

😎 Feeling Confident?

The following features are not needed for the final solution, but you can develop them if you feel confident enough:

  • +1 Implement implement volume control: two buttons, one to rise and one to lower the volume.
  • +1 Repeat mode button: when activated, the current song will repeat forever until deativated.
  • +2 Shuffle functionality: the songs will play randomly instead of in order.
  • +5 Implement slider timeline: The slider will move with the song accordingly, if clicked the song will jump to that time.

Signup and get access to similar projects

We will use it to give you access to your account.
Already have an account? Login here.

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Signup and get access to similar projects

We will use it to give you access to your account.
Already have an account? Login here.

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Difficulty

  • intermediate

Average duration

16 hrs

Technologies

Supplementary Material

In order to prepare better for completing this exercises, we suggest the following materials

Lesson

React Hooks Explained

Exercise

Learn React.js Interactively

Lesson

Learn React Here : React Js Tutorial

Weekly Coding Challenge

Every week, we pick a real-life project to build your portfolio and get ready for a job. All projects are built with ChatGPT as co-pilot!

Start the Challenge

Podcast: Code Sets You Free

A tech-culture podcast where you learn to fight the enemies that blocks your way to become a successful professional in tech.

Listen the podcast