Features β’ Quick Start β’ Architecture β’ Development β’ Contributing β’ Use Cases
π― FanFlux is an innovative decentralized application (dapp) built on the Starknet blockchain that revolutionizes the way creators and fans interact. It provides a seamless platform for creators to monetize their content and engage with their community while giving fans unique ways to support and connect with their favorite creators.
- Decentralized Control: No central authority controlling content or revenue
- Lower Fees: Significantly reduced platform fees compared to traditional platforms
- True Ownership: Creators maintain full ownership of their content
- Transparent Economics: All transactions and fee structures are public and immutable
- Global Access: Available to creators and fans worldwide without traditional banking restrictions
βοΈ Built using NextJS, Starknet.js, Scarb, Starknet-React, and Starknet Foundry.
- Customizable profiles for creators to showcase their content
- Portfolio management and content organization
- Analytics dashboard for tracking engagement and earnings
- Customizable monetization strategies
- Content scheduling and automation
- Multi-platform content synchronization
- Custom branding options
- SEO optimization tools
- Direct fan subscriptions
- Pay-per-view content
- Virtual merchandise sales
- Exclusive content access
- Tokenized membership tiers
- Automated revenue splitting
- Sponsorship management
- Cross-platform monetization
- Interactive features for fans to support creators
- Token-gated content access
- Exclusive community spaces
- Direct messaging between fans and creators
- Tipping and subscription systems
- Community polls and voting
- Fan challenges and rewards
- Social features and sharing
- Loyalty points program
- Achievement badges
- Exclusive access tokens
- Referral rewards
- Community rankings
- Special event privileges
- Early access opportunities
- Custom fan experiences
- Built on Starknet for fast, secure, and scalable transactions
- Multi-signature wallet support
- Automated payment distributions
- Transparent fee structure
- Fraud prevention systems
- Dispute resolution mechanism
- Regular security audits
- Insurance coverage options
- End-to-end encryption
- Privacy-focused design
- GDPR compliance
- Data portability
- Regular backups
- Access control systems
- Activity monitoring
- Security notifications
- Seamless connection with various wallet providers
- Cross-chain compatibility (planned)
- NFT support for exclusive content
- Token-based governance system
- Smart contract automation
- Layer 2 scaling solutions
- Cross-chain bridges
- DeFi integrations
- RESTful API
- GraphQL support
- Webhook system
- SDK availability
- Documentation portal
- Rate limiting
- Cache optimization
- Error handling
FanFlux is built on a modern, scalable architecture designed for performance and reliability:
- Next.js 13+ with App Router
- TailwindCSS for styling
- Framer Motion for animations
- TypeScript for type safety
- Starknet React for blockchain interactions
- Redux for state management
- Service Workers for offline support
- WebSocket for real-time updates
- Cairo smart contracts
- Starknet blockchain
- Decentralized storage integration
- Automated market makers for token swaps
- Upgradeable contracts
- Multi-signature governance
- Event emission system
- Gas optimization
- Decentralized content delivery
- IPFS integration for content storage
- Real-time notification system
- Analytics and reporting
- Load balancing
- Caching layers
- Database sharding
- Microservices architecture
- Docker containerization
- Kubernetes orchestration
- CI/CD pipelines
- Automated testing
- Performance monitoring
- Error tracking
- Logging system
- Backup solutions
Before you begin, you need to install the following tools:
You can set up the development environment in two ways:
- Install Starkup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.starkup.sh | sh
- Clone and set up the project:
git clone https://github.com/wugalde19/fanflux.git
cd fanflux
yarn install
- Install Starknet Devnet:
asdf plugin add starknet-devnet
asdf install
- Install Docker Desktop
- Install VS Code Dev Containers extension
- Clone the repository and open in VS Code
- Click "Reopen in Container" when prompted
- Copy the example environment files:
cp packages/nextjs/.env.example packages/nextjs/.env
cp packages/snfoundry/.env.example packages/snfoundry/.env
- Configure environment variables:
NEXT_PUBLIC_CHAIN_ID=
NEXT_PUBLIC_PROVIDER_URL=
NEXT_PUBLIC_IPFS_GATEWAY=
NEXT_PUBLIC_API_URL=
STARKNET_ACCOUNT=
STARKNET_PRIVATE_KEY=
STARKNET_NETWORK=
DATABASE_URL=
REDIS_URL=
JWT_SECRET=
- Start the local Starknet network:
yarn chain
- Deploy the contracts:
yarn deploy
- Start the frontend application:
yarn start
Visit http://localhost:3000
to see the application running.
FanFlux includes comprehensive testing at all levels:
# Run all tests
yarn test
# Run specific test file
yarn test:file path/to/test
# Run with coverage
yarn test:coverage
# Run all tests
yarn test:nextjs
# Run with watch mode
yarn test:nextjs:watch
# Run with coverage
yarn test:nextjs:coverage
# Run all integration tests
yarn test:integration
# Run specific suite
yarn test:integration:suite
# Generate test reports
yarn test:report
# Run lighthouse tests
yarn test:lighthouse
# Run load tests
yarn test:load
- Configure testnet environment:
cp .env.testnet .env
- Deploy contracts:
yarn deploy --network sepolia
- Deploy frontend:
yarn deploy:frontend
- Configure mainnet environment:
cp .env.mainnet .env
- Deploy contracts:
yarn deploy --network mainnet
- Deploy frontend:
yarn deploy:frontend:prod
- All smart contracts are thoroughly audited
- Follow the project's ESLint configuration
- Write meaningful commit messages
- Include tests for new features
- Update documentation as needed
- Follow the PR template
- Musicians releasing exclusive tracks
- Artists selling digital artwork
- Writers publishing premium content
- Streamers offering exclusive streams
- Educators providing online courses
- Podcasters sharing bonus episodes
- Photographers selling photo collections
- Filmmakers distributing indie films
- Access to exclusive content
- Direct interaction with creators
- Community participation
- Early access to new releases
- Special event access
- Merchandise purchases
- Custom experiences
- Community governance
- Starknet Mainnet
- Starknet Testnet (Sepolia)
- Local Development Network
- Layer 2 Solutions
- Cross-chain Bridges
- Alternative L1s
If you need help:
- Open an issue on our GitHub repository
Contract Address: 0x544f567c2c2ec661faac3e7b568e9fce495eaefd9fc85a1ffabfea883a1f20c Class Hash: 0x016b914f5a73ee4e52879cace7de586abf56e0c745c0cc7275d7773eaaa59b2f
Contract Address: 0x7df922fa83125ff77060e079d7210464b3a483096d8108af3153965e8510cd8 Class Hash: 0x03b33627577b841e07b3ad604ca5c0243ee64456544243428f87b67f26abefc3