Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shivang1305/spotify
Spotify clone project using next.js, react.js for components, tailwind css for styling, postgres and supabase for db and stripe to handle payments.
https://github.com/shivang1305/spotify
nextjs14 oauth2 postgresql reactjs redux-toolkit stripe supabase tailwindcss zustand
Last synced: 13 days ago
JSON representation
Spotify clone project using next.js, react.js for components, tailwind css for styling, postgres and supabase for db and stripe to handle payments.
- Host: GitHub
- URL: https://github.com/shivang1305/spotify
- Owner: shivang1305
- Created: 2024-09-13T06:08:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T16:41:23.000Z (25 days ago)
- Last Synced: 2025-01-17T16:48:27.068Z (25 days ago)
- Topics: nextjs14, oauth2, postgresql, reactjs, redux-toolkit, stripe, supabase, tailwindcss, zustand
- Language: TypeScript
- Homepage: https://spotify-phi-lovat.vercel.app
- Size: 338 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spotify 🎵
A full-stack Spotify Clone built with **Next.js**, **TypeScript**, and **Supabase**, offering features like song uploads, favorites, subscription management, and a fully functional music player.
[**Live Demo**](https://spotify-7s64j14zf-shivang1305s-projects.vercel.app/)
---
## Features 🚀
### **1. Authentication**
- User authentication is powered by **Supabase**.
- Users can register and log in to access personalized features like song uploads and favorites.### **2. Songs Upload**
- Users can upload their own songs.
- Songs are stored in **Supabase Realtime Database**.### **3. Songs Fetching List**
- Dynamically fetch and display all uploaded songs.
- Responsive and user-friendly design with **Tailwind CSS**.### **4. Favorite Songs**
- Add and remove songs from the favorites list.
- Favorites are stored in the user's profile in **Supabase**.### **5. Payment Gateway Integration**
- Integrated with **Stripe** for managing subscriptions.
- Users can subscribe to premium features.### **6. Subscription Functionality**
- Premium subscribers unlock exclusive features.
- Subscription status is stored and validated through **Stripe**.### **7. Complete Player Functionality**
- Full music player with **play**, **pause**, and **seek** functionality.
- Responsive and intuitive player controls.---
## Tech Stack 🛠️
- **Frontend**: [Next.js](https://nextjs.org/), [TypeScript](https://www.typescriptlang.org/), [Tailwind CSS](https://tailwindcss.com/)
- **Backend**: [Supabase](https://supabase.com/), [Stripe](https://stripe.com/)
- **Database**: Supabase Realtime Database
- **Authentication**: Supabase Auth
- **Deployment**: Vercel---
## Local Setup 🖥️
Follow these steps to set up the project locally:
### **1. Clone the Repository**
```bash
git clone https://github.com/shivang1305/spotify.git
cd spotify
```### **2. Install Dependencies**
```bash
npm install
```### **3. Environment Variables**
Create a .env.local file in the root of the project and add the following variables:
```bash
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
STRIPE_SECRET_KEY=your_stripe_secret_key
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=your_stripe_public_key
NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
```### **4. Run the Development Server**
```bash
npm run dev
```Visit http://localhost:3000 to view the app in development mode.
## Deployments 🚀
The application has been deployed and is live! You can check it out here:
[Spotify Live](https://spotify-7s64j14zf-shivang1305s-projects.vercel.app/)---
## Screenshots 📸
### **Authentication Page**
#### Register Page
![Register Page Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Register.png)
#### Login Page
![Login Page Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Login.png)
### **Homepage**
![Homepage Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Home.png)
### **Liked Songs**
![Liked Songs Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/LikedSongs.png)
### **Search Songs**
![Search Songs Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Search.png)
### **Upload Songs**
![Upload Songs Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/UploadSong.png)
### **Profile Page**
![Profile Page Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Profile.png)
### **Player Functionality**
![Player Functionality Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Player.png)
### **Subscriptions Page**
![Subscriptions Page Screenshot](https://github.com/shivang1305/spotify/blob/main/public/images/Stripe.png)
---
## Acknowledgements 🙏
This project wouldn’t have been possible without the following:
- **Supabase**: For seamless authentication and real-time database management.
- **Stripe**: For integrating payment gateway and subscription functionality.
- **Tailwind CSS**: For providing utility-first CSS for designing a modern UI.
- **Next.js**: For enabling server-side rendering and optimized frontend/backend integration.