Skip to content

Requests And Offers is a hAppenings.community project to facilitate exchange between Holochain creators, developers, advocates, projects and organisations! It's an agent-centric, distributed marketplace of requests and offers built with Holochain.

License

Notifications You must be signed in to change notification settings

Mbd06b/requests-and-offers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contribute

Requests and Offers

A simple peer-to-peer bulletin board for the Holochain community, enabling creators, developers, and organizations to post requests and offers for services, skills, and resources with direct contact facilitation.

🚀 Quick Start

# Clone and setup
git clone https://github.com/Happening-Community/requests-and-offers.git
cd requests-and-offers && nix develop
bun install && bun start

📖 Documentation

Essential Reading

Quick Reference

🛠️ Development Commands

Running the Application

# Development Mode - Full dev features enabled
bun start              # Start with 2 agents + mock buttons
AGENTS=3 bun start     # Custom number of agents
bun start:tauri        # Desktop app with Tauri

# Test Mode - Alpha testing without mock buttons
bun start:test         # Test deployment simulation

# Production Mode - Clean production build
bun start:prod         # Production-ready deployment

Testing

bun test               # All tests
bun test:ui            # Frontend tests
bun test:unit          # Unit tests (requires Nix)
bun test:integration   # Integration tests

Building

bun build:zomes        # Build zomes
bun build:happ         # Build complete hApp
bun package            # Package for distribution

Note: Unit tests require Nix environment due to hREA integration. Use nix develop --command bun test:unit for autonomous execution.

🔧 Development Features System

The project includes a comprehensive development features system with three distinct modes:

🧑‍💻 Development Mode

  • Purpose: Full development experience with all debugging tools
  • Features: Mock data buttons, development utilities, debug panels
  • Command: bun start
  • Environment: Uses .env.development with all dev features enabled

🧪 Test Mode (Alpha)

  • Purpose: Alpha testing environment simulating production
  • Features: Limited dev features, no mock buttons, realistic testing
  • Command: bun start:test
  • Environment: Uses .env.test with selective feature enablement

🚀 Production Mode

  • Purpose: Clean production deployment
  • Features: All development code tree-shaken out, optimized builds
  • Command: bun start:prod
  • Environment: Uses .env.production with zero dev features

Environment Variables

The system uses Vite environment variables for build-time optimization:

# Core configuration
VITE_APP_ENV=development|test|production
VITE_DEV_FEATURES_ENABLED=true|false
VITE_MOCK_BUTTONS_ENABLED=true|false

Tree-Shaking: Development features are completely removed from production builds through Vite's build-time optimization, ensuring zero overhead in production deployments.

For detailed information, see Development Features System.

📁 Project Structure

requests-and-offers/
├── dnas/requests_and_offers/    # Holochain DNA with coordinator/integrity zomes
├── ui/                          # SvelteKit frontend with 7-layer Effect-TS architecture
├── tests/                       # Tryorama integration tests
└── documentation/               # Comprehensive project documentation

See Architecture Overview for detailed system design.

🔄 MVP Transition

This project is currently transitioning to a simplified MVP approach:

Simplified MVP Features

  • Bulletin Board: Simple request/offer listing system
  • Direct Contact: Clear display of contact information for communication
  • User Management: Archive/delete own listings
  • Search & Browse: Find requests and offers by keywords and tags

Post-MVP Features (Coming Later)

  • Exchange Process: Proposal, agreement, and review workflows
  • In-App Messaging: Secure communication between users
  • Reputation System: Review and rating mechanisms
  • Advanced Matching: Algorithmic request/offer matching

See MVP Documentation for details on the simplified approach.

🤝 Community & Licensing

About

Requests And Offers is a hAppenings.community project to facilitate exchange between Holochain creators, developers, advocates, projects and organisations! It's an agent-centric, distributed marketplace of requests and offers built with Holochain.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 60.2%
  • Svelte 28.9%
  • Rust 7.8%
  • Shell 3.0%
  • JavaScript 0.1%
  • Nix 0.0%