viju-sharma / next13-spotify

Home Page:https://next13-spotify.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Full Stack Spotify Clone with Next.js 13.4 App Router: React, Tailwind, Supabase, PostgreSQL, Stripe

Copy of Copy of Fullstack Twitter Clone

For DEMO, use Stripe Testing Cards

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

VIDEO TUTORIAL

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/AntonioErdeljac/next13-spotify.git

Install packages

npm i

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 (there is a video tutorial)

Start the app

npm run dev

Available commands

Running commands with npm npm run [command]

command description
dev Starts a development instance of the app

About

https://next13-spotify.vercel.app

License:MIT License


Languages

Language:TypeScript 90.9%Language:PLpgSQL 8.0%Language:JavaScript 0.9%Language:CSS 0.2%