Thank you for your interest in contributing to MyFans! This document provides guidelines and information for contributors.
- Node.js 18+ and npm
- Rust and Cargo
- Soroban CLI (
cargo install soroban-cli) - PostgreSQL
- Freighter Wallet browser extension
Windows:
setup.batLinux/Mac:
chmod +x setup.sh
./setup.sh-
Install Dependencies
# Frontend cd frontend npm install # Backend cd ../backend npm install # Contracts cd ../contract cargo build --release --target wasm32-unknown-unknown
-
Configure Environment
# Frontend cd frontend cp .env.local.example .env.local # Edit .env.local # Backend cd ../backend cp .env.example .env # Edit .env
-
Database:
docker run -d -p 5432:5432 \ -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=myfans \ postgres
-
Backend:
cd backend npm run start:dev # Runs on http://localhost:3001
-
Frontend:
cd frontend npm run dev # Runs on http://localhost:3000
- Frontend:
cd frontend && npm test - Backend:
cd backend && npm test - Contracts:
cd contract && cargo test
For a hands-on guide to running the backend, authenticating, and making your first API calls, see backend/docs/API_QUICKSTART.md.
- Follow existing patterns in the repository
- Run linters:
npm run lintin respective directories - Ensure tests pass before submitting PR
- Create a new branch for your changes
- Make your changes
- Add tests if applicable
- Ensure all tests pass
- Submit a pull request
Please use the issue templates for bug reports, feature requests, and security issues.