Ichofy is a modern, feature-rich music streaming platform that combines a sleek user interface with powerful backend capabilities. Whether you're here to discover new tracks, manage music, or analyze stats, Ichofy has it all!
LIVE DEMO ๐๐ป Click to visit website
VISIT MY PORTFOLIO ๐๐ป Click to visit
- Stream Albums โ Enjoy uninterrupted listening.
- Shuffle Play โ Experience music in a randomized order.
- Curated Playlists โ Find playlists tailored to every mood and genre.
- Explore trending tracks and personalized "Made for You" recommendations.
- See what others are listening to and join in the fun.
- Know who's online to chat or offline enjoying the beats.
-
Connect and chat with other users about your favorite tracks and albums.
-
๐ธ Listen to music: Play, pause, and skip between songs effortlessly.
-
๐ Volume control: Adjust the volume with an intuitive slider.
-
๐ง Admin dashboard: Create and manage albums and songs easily.
-
๐ฌ Real-time chat: Interact with other users through an integrated chat app.
-
๐จ๐ผโ๐ผ Online/Offline status: See who's online and ready to chat.
-
๐ Friend activity: See what others are listening to in real-time.
-
๐ Analytics dashboard: Gain insights into aggregated user data.
The Admin Dashboard empowers administrators with:
-
Song & Album Management โ Add, edit, or delete songs and albums.
-
Analytics โ Gain insights into:
- Total users
- Total songs
- Total albums
- Total artists
-
Frontend: React, Tailwind CSS
-
Backend: Node.js, Express
-
Database: MongoDB
-
State-Management: Zustand
-
Authentication: Clerk
-
Real-time Features: Socket.IO
-
Deployment: Render.com
- React + Vite โ High-performance frontend framework.
- TypeScript โ Type-safe development.
- Zustand โ Simplified state management.
- Tailwind CSS โ Utility-first styling for responsive designs.
- Shadcn โ Prebuilt UI components for rapid development.
- Framer Motion โ Advanced animations for enhanced user experiences.
- Node.js and Express for the API.
- MongoDB for scalable data storage.
- Client: Ichofy-Client
- Server: Ichofy-Server
Create a .env
file in the root directory with the following variables:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key
VITE_BASE_URL=your_backend_url
VITE_CHAT_BASE_URL=your_chat_backend_url
Create a .env
file in the backend root with the following variables:
PORT=<your-port>
MONGODB_URL=<your-database-url>
ADMIN_EMAIL=<admin-email>
CLOUDINARY_API_KEY=<your-cloudinary-api-key>
CLOUDINARY_API_SECRET=<your-cloudinary-api-secret>
CLOUDINARY_CLOUD_NAME=<your-cloudinary-cloud-name>
NODE_ENV=development
CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
CLERK_SECRET_KEY=<your-clerk-secret-key>
๐ธ Control playback with next and previous song options
๐ Adjust the volume seamlessly
๐ง Admin dashboard for managing songs and albums
๐ฌ Real-time chat with other users
๐ View what others are listening to in real-time
๐ Analytics and insights for the admin
- Secure Authentication โ Powered by Clerk.
- Real-Time Communication โ Via Socket.IO.
- Cloud Storage โ Handle uploads with Cloudinary.
- Data Analytics โ Track platform stats.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the repository.
- Clone your forked repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make changes and commit (
git commit -m "Add your message"
). - Push to your branch (
git push origin feature/your-feature
). - Create a Pull Request.
Feel free to reach out to me for guidance or collaboration:
Happy coding! ๐