Solify is a revolutionary decentralized music platform built on the Solana blockchain that empowers artists and listeners to connect directly without intermediaries. Think of it as a decentralized Spotify where artists own their content, listeners discover new music, and everyone participates in a transparent ecosystem.
- 🎧 Share Music: Upload and share your tracks with the world
- 👤 User Profiles: Create your unique artist or listener profile
- 📝 Track Management: Add, manage, and share your music catalog
- 📋 Playlists: Create and share curated playlists with the community
- ❤️ Like System: Show appreciation for tracks you enjoy
- ⚡ Lightning Fast: Built on Solana for near-instant transactions and minimal fees
Solify leverages the power of Solana's high-performance blockchain to create a seamless music sharing experience:
- Create a Profile: Connect your Solana wallet and create your unique username
- Share Your Music: Add tracks with title and URI (linking to your hosted audio)
- Discover: Browse tracks from other artists in the ecosystem
- Curate: Create playlists to organize your favorite tracks
- Engage: Like tracks to show appreciation and help others discover great music
Solify is built with a modern tech stack:
- Backend: Solana blockchain with Anchor framework
- Frontend: Next.js, React, TypeScript, and TailwindCSS
- Wallet Integration: Solana Wallet Adapter supporting Phantom, Solflare, and more
The platform uses Program Derived Addresses (PDAs) to efficiently store and retrieve data:
- User Profiles: Store user information and track counts
- Tracks: Store track metadata including URI, title, and like count
- Playlists: Manage collections of tracks
- Playlist Items: Link tracks to playlists
- Likes: Track user appreciation
/anchor_project/solify/: Solana program code written with Anchor framework/frontend/solify-ui/: Next.js frontend application/PROJECT_DESCRIPTION.md: Detailed project description and implementation details/DEPLOYMENT_GUIDE.md: Instructions for deploying the application
- Node.js 16+ and npm
- Rust and Cargo (for Anchor development)
- Solana CLI tools
- A Solana wallet (Phantom, Solflare, etc.)
-
Clone the repository:
git clone https://github.com/yourusername/solify.git cd solify -
Set up the Anchor project:
cd anchor_project/solify npm install -
Set up the frontend:
cd frontend/solify-ui npm install npm run dev
See the DEPLOYMENT_GUIDE.md for detailed deployment instructions.
The Anchor program includes comprehensive tests for all instructions:
cd anchor_project/solify
anchor testThis project is licensed under the MIT License.
This task consists of two parts:
- Core of your dApp
- A deployed Solana program.
- Frontend
- A simple frontend to interact with the dApp.
- An Anchor program deployed on Devnet or Mainnet.
- The Anchor program must use a PDA (Program Derived Address).
- At least one TypeScript test for each Anchor program instruction. These tests should cover both happy and unhappy (intentional error-triggering) scenarios.
- A simple frontend deployed using your preferred provider.
- A filled out PROJECT_DESCRIPTION.md file.
Built with ❤️ for the School of Solana
