Skip to content

elcharitas/muxifi

Repository files navigation

Music meets DeFi

Design license GitHub Workflow Status npm version activity GitHub top language GitHub Repo stars

MuxiFi is a serverless, distributed digital music, podcast service, built on the BNB Chain, that gives listeners access to millions of songs and other contents from creators all over the world.

MuxiFi is Live at https://muxifi.vercel.app.

💪 Motivation

Music is life, and it's part of what makes us Human. Over time, civilizations have passed down history through music, and the ones responsible for this are not well compensated. Music production on the centralized web is left to distributors, producing companies, and agencies, making it difficult for artists to get their music out there. That's what Muxifi is solving. Muxifi is creating a decentralized world for artists where from production to sales is left to the artiste. Muxifi is allowing the audience to connect with their favourite artistes even more by bridging the distributor gap and allowing the audience to collect(at a fee) an artiste's song.

🚀 How it Works

MuxiFi is a decentralized music service powered strongly by IPFS. It is an NFT Marketplace for music. All metadata, including cover and audio, is hosted on IPFS using a storage service. Some of MuxiFi's features include:

  • Album Upload: Albums are immutable and can't be updated once uploaded.
  • Podcast Upload: A podcast is not immutable. Users can add new episodes or remove existing ones from a podcast.
  • Album/Podcast Collection: Users can collect albums/podcasts.
  • Creator Profiles: Users can set up creator profiles.

👷 Technologies and Infra used

  • UI/Frontend
    • ReactJS: core javascript library
    • MUI: core UI Framework
    • NextJS 12: core javascript framework
    • Figma: UI/UX Design and prototyping tool
  • Smart Contracts
    • Solidity
    • Hardhat
    • ethers
  • Web3 Tools/Infra
    • IPFS: interplanetary storage for MuxiFi
    • nft.storage: storage for ERC1155 contracts
    • OrbitDB: personalized peer to peer db
    • Moralis EVM API: Query and indexing of smart contracts
    • Wagmi/RainbowKit: Contract interaction and Wallet authentication.
  • CI/CD, Code Management
  • Task Management
    • Trello
    • Github Issues

🎊 What's Next?

  • Stake on Creator Songs to earn tokens
  • Share Creator Profiles
  • Share playlists
  • Improve feedback Loop to get feature requests

🛠️ Installation and Setup

Ideally, you should not need to run MuxiFi locally since we have it live at https://muxifi.vercel.app.

However, ensure to have NodeJS 15+ installed then to get muxifi running locally, follow these steps:

  1. clone the github repository
    $ gh repo clone elcharitas/muxifi
  2. change directory to access the codebase
    $ cd muxifi
  3. You should install all necessary packages next with yarn. Please note that other package managers were also tested(pnpm, npm) but Yarn is preferred for MuxiFi
    $ yarn
  4. Start the local server.
    $ yarn dev

📂 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate. Check these guidelines for more.

🧑🏻 Team

License

MIT