Skip to content

Songify is a fullstack real-time music streaming app built with Node.js, Express, React, and TypeScript, featuring seamless authentication via Clerk for an optimal user experience.

Notifications You must be signed in to change notification settings

hashiifab/songify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Songify

Fullstack application for music streaming with real-time features:

  • Backend: Node.js + Express
  • Frontend: React + TypeScript
  • Authentication: Clerk

πŸ›  Tech Stack

Backend:

  • Node.js + Express
  • MongoDB
  • Socket.io (Real-time)
  • Clerk (Authentication)
  • Cloudinary (Media Storage)

Frontend:

  • React 18
  • TypeScript
  • Tailwind CSS
  • Radix UI
  • Clerk Authentication
  • Axios

πŸš€ Key Features

  • 🎸 Music streaming with player controls
  • πŸ”ˆ Volume control with slider
  • 🎧 Admin dashboard for content management
  • πŸ’¬ Real-time chat integration
  • πŸ‘¨πŸΌβ€πŸ’Ό Online/Offline user status
  • πŸ‘€ Real-time user activity tracking
  • πŸ“Š Analytics dashboard

πŸ“‚ Folder Structure

songify/
β”œβ”€β”€ backend/      # Node.js + Express (API & Core Logic)
β”‚   β”œβ”€β”€ src/      
β”‚   β”‚   β”œβ”€β”€ controller/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   └── lib/
β”œβ”€β”€ frontend/    # React + TypeScript (Web Interface)
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   └── stores/
└── music/       # Sample music files

πŸ–₯ Local Setup

Backend (Node.js):

cd backend
npm install
# Setup .env file
npm run dev

Frontend (React):

cd frontend
npm install
# Setup .env file
npm run dev

πŸ”‘ Environment Variables

Backend (.env):

PORT=5000
MONGODB_URI=mongodb://localhost:27017/songify
ADMIN_EMAIL=your-email@example.com
NODE_ENV=development

CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name

CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

Frontend (.env):

VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key

πŸ‘¨β€πŸ’» Author

About

Songify is a fullstack real-time music streaming app built with Node.js, Express, React, and TypeScript, featuring seamless authentication via Clerk for an optimal user experience.

Topics

Resources

Stars

Watchers

Forks