Thank you for your interest in contributing to StellarMarket! This guide will help you get started.
- Node.js >= 18
- Rust (latest stable) with
wasm32-unknown-unknowntarget - Soroban CLI
- PostgreSQL >= 14
- Fork and clone the repository
- Install dependencies for each package:
# Frontend
cd frontend && npm install
# Backend
cd ../backend && npm install
# Contracts (ensure Rust wasm target is installed)
rustup target add wasm32-unknown-unknown- Set up environment variables:
cp backend/.env.example backend/.env
cp frontend/.env.example frontend/.env.local- Set up the database:
cd backend && npx prisma migrate devfrontend/— Next.js application (TypeScript, Tailwind CSS)backend/— Express API server (TypeScript, Prisma, PostgreSQL)contracts/— Soroban smart contracts (Rust)escrow/— Escrow and milestone payment logicreputation/— On-chain reputation systemdispute/— Dispute resolution and arbitration
- Use TypeScript strict mode
- Follow ESLint configuration
- Use Prettier for formatting
- Write meaningful variable and function names
- Follow standard Rust conventions (
cargo fmt,cargo clippy) - Write comprehensive tests for all contract functions
- Document public functions with doc comments
- Create a feature branch from
main - Make your changes with clear, descriptive commits
- Ensure all tests pass
- Update documentation if needed
- Submit a PR with a clear description of changes
good first issue— Suitable for newcomersbug— Something isn't workingenhancement— New feature or improvementsmart-contract— Related to Soroban contractsfrontend— Related to the Next.js appbackend— Related to the Express APIdocumentation— Documentation improvements
Be respectful and constructive in all interactions. We are committed to providing a welcoming and inclusive experience for everyone.