Skip to content

A licensing website with features such as user authentication, beat uploading and editing capabilities, and a shopping cart and checkout process for purchasing beats.

forreya/music-licensing-website

Repository files navigation

logo

BeatHive - Music Licensing Website

NodeJS React MongoDB ExpressJS JSON Web Token Redux Toolkit React Router

BeatHive is a music licensing website where users can register and log in to buy and sell beat licenses, upload and edit beats, add beats to their shopping cart, and complete the checkout process.


Authorization & Authentication:

DemoGif

Buying Beats & Adding To Cart:

DemoGif

Checkout & Payment:

DemoGif

Uploading & Posting Beats:

DemoGif


🕹️ Features

Here's an overview of the key functionalities of this website:

Authorization & Authentication

  • Users can register and login to the application.
  • Passwords are hashed before being stored in the database
  • User authentication is handled using JSON Web Tokens (JWT).

Beats

  • Users can upload beats to sell to other users
  • Users can edit the details of existing beats (name, description, tags, etc) if they are the creator of it
  • Home page includes all of the beats that are available for purchase on the website. Each beat has a thumbnail image, a name, description, tags, and more.

Cart & Checkout

  • Users can select beats they want to purchase, and add them to their shopping cart
  • Users can edit their shopping cart, including removing beats or changing the quantity of a beat
  • Cart updates the total cost of the beats automatically
  • Checkout process includes steps for entering their billing & contact information
  • Confirmation message after each successful order

💾 Installation

Database Configuration

To use BeatHive, you will need to create a MongoDB account. Here are the steps:

  1. Go to the MongoDB website and click the "Sign Up" button in the top right corner of the page.
  2. Follow the prompts to create a new account with your email and password.
  3. Once you are signed in to your account, click on the "New Project" button on the MongoDB dashboard.
  4. Enter a name for your new project and select a region to host your data. Click the "Create Project" button to proceed.
  5. Once your project is created, click on the "Clusters" tab in the left sidebar and click the "Create a New Cluster" button.
  6. Follow the prompts to select your cloud provider, region, and cluster tier. Select the free tier option to test the application. Click the "Create Cluster" button to proceed.
  7. Once your cluster is created, click on the "Connect" button on the cluster overview page.
  8. Select "Connect Your Application" and choose "Node.js" as the driver to connect to MongoDB.
  9. Follow the instructions to copy your connection string and change the MONGO_URI value in your .env file to your connection string. Be sure to replace the password part of your URI with your MongoDB password.

Setup

Note: For step 3, you need to fill in the details by referring to the .env.example file.

  1. Clone Repository
git clone https://github.com/forreya/music-licensing-website.git
  1. Install Dependencies (Frontend):
cd client
npm install
  1. Install Dependencies (Backend):
cd server
npm install
  1. Create an .env files and fill the environmental variables in with your own information
PORT = '4000'
MONGO_USER = 'donkey_kong'
MONGO_PASSWORD = 'n8osjwn0ssofa6'
MONGO_URI = 'mongodb+srv://donkey_kong:A297dnOWwbsDI2k@my-cluster.psud.mongodb.net'
  1. Start Client & Server
// Client
npm start

// Server
npx nodemon index.js

This will install the necessary packages listed in the package.json file and run the application on your computer.


💻 Technologies

About

A licensing website with features such as user authentication, beat uploading and editing capabilities, and a shopping cart and checkout process for purchasing beats.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published