Skip to content

StreamFi-x/streamfi-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

StreamFi

Overview

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.

🌍 Ecosystem and Integrations

  • Integrates with StarkNet for blockchain scalability.
  • Engages with Worldcoin for user identity verification.

🏗 Project Structure

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

🔧 Installation & Setup

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 dev

🛠 Development Tools

Code Formatting & Linting

This 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

Available Scripts

# 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)

Commit Message Format

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 features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Adding or updating tests
  • chore: 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 commit

Git Hooks

The 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 install

🛠 Development Tools

Code Formatting & Linting

This 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

Available Scripts

# 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)

Commit Message Format

We follow the Conventional Commits specification:

type(scope): description

[optional body]

[optional footer]

Types:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • perf: Performance improvements
  • test: Adding or updating tests
  • chore: Maintenance tasks

Example:

npm run commit
# This will open an interactive prompt to create a properly formatted commit

Git Hooks

The following hooks are automatically run:

  • pre-commit: Formats and lints staged files
  • commit-msg: Validates commit message format

🛠 Branch Naming Convention

We follow a structured branch naming format:

[fix|feat|chore]-[issue-number]-[short-description]

Example:

feat-23-livepeer-integration
fix-45-streaming-bug

🤝 Contributing

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.

💬 Community & Support

  • Join our Telegram for discussions and support.

📜 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 38