StreamFi is a decentralized live-streaming platform that empowers content creators and viewers through blockchain technology. Our mission is to create a fair, transparent, and user-driven streaming ecosystem where creators retain full ownership of their content and earnings.
It is designed for content creators and gamers that empowers users with Web3-native monetization, eliminating middlemen through direct crypto tipping and blockchain-based interactions, while ensuring transparency, security, and censorship resistance in content creation and distribution.
- Integrates with StarkNet for blockchain scalability.
- Engages with Worldcoin for user identity verification.
- Frontend: Built with React, Next.js (Web), Flutter (Mobile).
- Backend: Node.js, FastAPI, GraphQL.
- Smart Contracts: Cairo (StarkNet).
- Storage: IPFS/Filecoin integration for decentralized content storage.
To set up the project locally:
# Clone the repository
git clone https://github.com/StreamFi-x/streamfi-frontend.git
cd streamfi
# Install dependencies
npm install
# Start the development server
npm run devThis project uses several tools to maintain code quality:
- Prettier: Code formatting
- ESLint: Code linting
- Husky: Git hooks
- lint-staged: Pre-commit formatting
- commitlint: Commit message validation
- commitizen: Interactive commit messages
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run format # Format code with Prettier
npm run format:check # Check if code is formatted
# Testing
npm run test # Run tests
# Database
npm run setup-db # Setup database
npm run update-schema # Update user schema
# Committing
npm run commit # Interactive commit (recommended)We follow the Conventional Commits specification. 📚 See COMMIT_GUIDE.md for detailed examples and troubleshooting!
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringperf: Performance improvementstest: Adding or updating testschore: Maintenance tasks
💡 Pro Tip: Use ./scripts/test-commit.sh "your message" to test your commit message before committing!
Example:
npm run commit
# This will open an interactive prompt to create a properly formatted commitThe following hooks are automatically run:
- pre-commit: Formats and lints staged files
- commit-msg: Validates commit message format
If you encounter installation issues, try these steps:
npm cache clean --force
rm -rf node_modules
rm package-lock.json
npm installThis project uses several tools to maintain code quality:
- Prettier: Code formatting
- ESLint: Code linting
- Husky: Git hooks
- lint-staged: Pre-commit formatting
- commitlint: Commit message validation
- commitizen: Interactive commit messages
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run format # Format code with Prettier
npm run format:check # Check if code is formatted
# Testing
npm run test # Run tests
# Database
npm run setup-db # Setup database
npm run update-schema # Update user schema
# Committing
npm run commit # Interactive commit (recommended)We follow the Conventional Commits specification:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featuresfix: Bug fixesdocs: Documentation changesstyle: Code style changesrefactor: Code refactoringperf: Performance improvementstest: Adding or updating testschore: Maintenance tasks
Example:
npm run commit
# This will open an interactive prompt to create a properly formatted commitThe following hooks are automatically run:
- pre-commit: Formats and lints staged files
- commit-msg: Validates commit message format
We follow a structured branch naming format:
[fix|feat|chore]-[issue-number]-[short-description]
Example:
feat-23-livepeer-integration
fix-45-streaming-bug
We are always excited to welcome passionate developers and contributors to help shape the future of StreamFi. Whether you're improving existing features, fixing bugs, or bringing innovative ideas to the table, your contributions are invaluable. To get started, check out our 📜 Contribution Guide for detailed instructions on how to contribute effectively.
- Join our Telegram for discussions and support.
This project is licensed under the MIT License.