https://github.com/arjunan-k/tunify
Developed Tunify using Next.js, offering seamless song uploads, Stripe integration, and dynamic player controls for the ultimate music experience.
https://github.com/arjunan-k/tunify
authentication mongodb music-player payment-integration stripe supabase
Last synced: 2 months ago
JSON representation
Developed Tunify using Next.js, offering seamless song uploads, Stripe integration, and dynamic player controls for the ultimate music experience.
- Host: GitHub
- URL: https://github.com/arjunan-k/tunify
- Owner: arjunan-k
- Created: 2023-06-21T12:29:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-29T17:07:24.000Z (almost 2 years ago)
- Last Synced: 2025-01-09T11:09:10.187Z (4 months ago)
- Topics: authentication, mongodb, music-player, payment-integration, stripe, supabase
- Language: TypeScript
- Homepage: https://tunifyy.vercel.app/
- Size: 57.8 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
#
TUNIFY

For DEMO, use [Stripe Testing Cards](https://stripe.com/docs/testing)
Tech stack: Next.js, 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
- Cancelling Stripe subscriptions### Prerequisites
**Node version 14.x**
### Cloning the repository
```shell
git clone https://github.com/arjunan-k/Tunify
```### Install packages
```shell
npm i
```### Setup .env file
```js
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
```shell
npm run dev
```## Available commands
Running commands with npm `npm run [command]`
| command | description |
| :-------------- | :-------------------------------------------- |
| `dev` | Starts a development instance of the app |
| `build` | Build app which is optimized for production |