Skip to content

JunCodera1/SoundBox

Repository files navigation

SoundBox

Welcome to the Soundbox! This platform is dedicated to music lovers, artists, and anyone who wants to explore and share their passion for music. Whether you’re here to discover new tracks, showcase your own music, or connect with fellow enthusiasts, you’ll find what you’re looking for. This app is a combination of YouTube and Spotify.

Installation

To install the application, follow these steps:

  1. Clone the repository to your local machine using the command
git clone https://github.com/JunCodera1/SoundBox.git
  1. Install the required dependencies using the command "npm install."
  2. Start the application using the command "npm start."

Usage

First, run the development server:

npm install
npm run dev

Why this project?

The Music Website is a platform that allows users to share and discover music. It's a place where people can come together to share their love for music, whether it's by sharing their own music, discovering new artists, or connecting with fellow music enthusiasts.

Technologies Used: MERN Stack

1.MongoDB:

Utilized as the primary database to store music tracks, user profiles, playlists, and other related data. Its document-oriented structure allows for flexible data representation, making it easy to manage complex data relationships.

2.Express:

Serves as the backend framework that handles API requests for features such as user authentication, song retrieval, and playlist management. Express simplifies routing and middleware integration, facilitating seamless communication between the frontend and backend.

3.React:

Powers the frontend of the music web application, allowing for the creation of dynamic and responsive user interfaces. React components enable users to browse songs, create playlists, and interact with the application in an intuitive manner.

4.Node.js:

Acts as the runtime environment for executing the backend code, enabling real-time data processing and enhancing performance. Node.js supports the development of scalable applications, making it ideal for handling multiple user requests concurrently.

Features

For users:

  • Register/Login
  • Upload music
  • Listen to music
  • Download music
  • Register for packages
  • Payment
  • Manage playlists
  • Manage favorites
  • Manage reports
  • User feedback

For admin:

  • Add, delete, edit users
  • Manage albums
  • Assign user rights
  • Manage reports
  • User feedback
  • Manage statistics
  • View revenue

Contributors

How to contribute to the project

If you're interested in contributing to the project, follow these steps:

  1. Clone the repository to your local machine using the command "git clone ."
  2. Make the desired changes to the codebase.
  3. Create a new branch using the command "git branch ."
  4. Commit the changes using the command "git commit -m ."
  5. Push the changes to the repository using the command "git push origin ."
  6. Create a pull request to the main branch.

Code structure

The codebase is organized into the following directories:

  • src/: Contains the source code for the application.
  • public/: Contains the static files for the application.
  • tests/: Contains the unit tests for the application.
  • README.md: This file.

License

This project is licensed under the MIT License.