Skip to content

marianochavez/spotify_clone

Repository files navigation

Spotify Clone

This is a repository for a Full Stack Spotify Clone with Next.js 13.4 App Router: React, Tailwind, Supabase, PostgreSQL, Stripe

Key Features:

  • Song upload
  • Stripe integration
  • Tailwind design for sleek UI
  • Tailwind animations and transition effects
  • Full responsiveness for all devices
  • Credential authentication with Supabase
  • Github authentication integration
  • File and image upload using Supabase storage
  • Client form validation and handling using react-hook-form
  • Server error handling with react-toast
  • Play song audio
  • Favorites system
  • Playlists / Liked songs system
  • Advanced Player component
  • Stripe recurring payment integration
  • How to write POST, GET, and DELETE routes in route handlers (app/api)
  • How to fetch data in server React components by directly accessing the database (WITHOUT API! like Magic!)
  • Handling relations between Server and Child components in a real-time environment
  • Cancelling Stripe subscriptions

Prerequisites

Node version 14.x

Cloning the repository

git clone https://github.com/marianochavez/spotify_clone.git

Install packages

pnpm install

Setup .env file

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

Add SQL Tables

Use database.sql file, create songs and liked_songs table

Start the app

pnpm dev

Available commands

Running commands with npm pnpm [command]

command description
dev Starts a development instance of the app

Test Stripe locally

Test Stripe locally

Make sure you are running the Stripe webhooks locally.

About

Spotify clone created with Next.js, Supabase, Stripe and more

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published