OfferHub is a decentralized freelance marketplace built on Stellar blockchain, featuring smart contract-based escrow, user registry, and fee management.
- Node.js 18.18.0+
- pnpm 9.15.4+
- Stellar CLI
- Rust & Cargo (for contract building)
# Clone repository
git clone <your-repo-url>
cd offer-hub-monorepo
# Install dependencies
pnpm install-
Backend Setup:
cd backend cp .env.example .env # Edit .env with your configuration
-
Add Contract IDs: After deploying your Stellar contracts, add their IDs to
backend/.env:ESCROW_FACTORY_CONTRACT_ID=CXXXXXX... FEE_MANAGER_CONTRACT_ID=CXXXXXX... USER_REGISTRY_CONTRACT_ID=CXXXXXX...
-
Generate TypeScript Bindings:
pnpm run bindings:generate
-
Start Development:
# Backend cd backend && pnpm run dev # Frontend pnpm run dev
offer-hub-monorepo/
├── backend/ # Node.js/Express backend
├── src/ # Next.js frontend
├── contracts-offerhub/ # Stellar smart contracts (Rust)
├── packages/ # Generated TypeScript bindings
├── docs/ # Documentation
└── scripts/ # Build and deployment scripts
This project uses TypeScript bindings for type-safe smart contract interactions.
Contract IDs are configured in backend/src/config/contract-ids.ts and loaded from environment variables.
# Generate all bindings
pnpm run bindings:generate
# Generate specific contract
pnpm run bindings:generate -- --contract escrow-factory
# Test setup
cd backend && ./test-contracts.sh📖 Full Guide: Generate Bindings Documentation
- Generate Bindings Guide - TypeScript bindings for Stellar contracts
- Backend Documentation - Backend API documentation
- Stellar Bindings Reference - Complete reference guide
pnpm run dev # Start frontend dev server
pnpm run build # Build frontend
pnpm run bindings:generate # Generate contract bindings
pnpm run bindings:build # Build bindings packagescd backend
pnpm run dev # Start backend dev server
pnpm run build # Build backend
pnpm run test # Run testsPlease read our contributing guidelines before submitting PRs.
[Your License Here]