Skip to content

A platform designed to transform the freelance market by connecting professionals and clients worldwide in a secure and innovative environment.

Notifications You must be signed in to change notification settings

Jopsan-gm/offer-hub

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,113 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌟 OfferHub - Decentralized Freelance Platform

OfferHub is a decentralized freelance marketplace built on Stellar blockchain, featuring smart contract-based escrow, user registry, and fee management.

🚀 Quick Start

Prerequisites

  • Node.js 18.18.0+
  • pnpm 9.15.4+
  • Stellar CLI
  • Rust & Cargo (for contract building)

Installation

# Clone repository
git clone <your-repo-url>
cd offer-hub-monorepo

# Install dependencies
pnpm install

Configuration

  1. Backend Setup:

    cd backend
    cp .env.example .env
    # Edit .env with your configuration
  2. 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...
  3. Generate TypeScript Bindings:

    pnpm run bindings:generate
  4. Start Development:

    # Backend
    cd backend && pnpm run dev
    
    # Frontend
    pnpm run dev

📂 Project Structure

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

🔧 Smart Contracts Integration

This project uses TypeScript bindings for type-safe smart contract interactions.

Contract IDs Configuration

Contract IDs are configured in backend/src/config/contract-ids.ts and loaded from environment variables.

Generating Bindings

# 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

📚 Documentation

🛠️ Available Scripts

Root Level

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 packages

Backend

cd backend
pnpm run dev              # Start backend dev server
pnpm run build            # Build backend
pnpm run test             # Run tests

🤝 Contributing

Please read our contributing guidelines before submitting PRs.

📄 License

[Your License Here]

About

A platform designed to transform the freelance market by connecting professionals and clients worldwide in a secure and innovative environment.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 55.7%
  • HTML 37.4%
  • Rust 5.8%
  • JavaScript 0.6%
  • PLpgSQL 0.3%
  • CSS 0.2%