Skip to content

๐ŸŽถIchofy- a modern, web-based music player๐ŸŽถ

Notifications You must be signed in to change notification settings

Rupesh-Piwal/Ichofy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

67 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Ichofy โ€“ Your Stylish Music Companion๐ŸŽง

GitHub repo size GitHub stars GitHub forks Twitter Follow

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!

Tech


Homepage

Website

LIVE DEMO ๐Ÿ‘‰๐Ÿป Click to visit website

VISIT MY PORTFOLIO ๐Ÿ‘‰๐Ÿป Click to visit

Connect With Me ๐Ÿš€

Linkedin github Twitter

๐ŸŽฏ Features

๐ŸŽถ Play Your Way

  • Stream Albums โ€“ Enjoy uninterrupted listening.
  • Shuffle Play โ€“ Experience music in a randomized order.
  • Curated Playlists โ€“ Find playlists tailored to every mood and genre.

๐Ÿ“ˆ Discover & Trends

  • Explore trending tracks and personalized "Made for You" recommendations.

๐Ÿ‘€ Real-Time Listening

  • See what others are listening to and join in the fun.

โœ… Online/Offline Status

  • Know who's online to chat or offline enjoying the beats.

๐Ÿ’ฌ Chat About Music

  • 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.

๐ŸŽจ Admin Dashboard

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

๐Ÿ› ๏ธ Technologies Used

Frontend

Tech

  • 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.

Backend

Tech

  • Node.js and Express for the API.
  • MongoDB for scalable data storage.

๐Ÿš€ Getting Started

Repositories

Frontend Environment Variables

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

Backend Environment Variables

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>

๐ŸŒŸ Backend Features

๐ŸŽธ 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

Backend Tech Stack

Tech

Core Features

  • Secure Authentication โ€“ Powered by Clerk.
  • Real-Time Communication โ€“ Via Socket.IO.
  • Cloud Storage โ€“ Handle uploads with Cloudinary.
  • Data Analytics โ€“ Track platform stats.

๐Ÿค Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

How to Contribute

  1. Fork the repository.
  2. Clone your forked repository.
  3. Create a new branch (git checkout -b feature/your-feature).
  4. Make changes and commit (git commit -m "Add your message").
  5. Push to your branch (git push origin feature/your-feature).
  6. Create a Pull Request.

Feel free to reach out to me for guidance or collaboration:

Happy coding! ๐Ÿš€

About

๐ŸŽถIchofy- a modern, web-based music player๐ŸŽถ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published