requests-and-offers
💡 Summary
A peer-to-peer bulletin board for the Holochain community to post requests and offers for services and resources.
🎯 Target Audience
🤖 AI Roast: “Powerful, but the setup might scare off the impatient.”
Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress); filesystem read/write scope and path traversal. Run with least privilege and audit before enabling in production.
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
- 📋 Project Overview - Complete project introduction and features
- 🚀 Quick Reference - Essential commands, patterns, and workflows
- 🏗️ Architecture - System design and 7-layer Effect-TS architecture
- 🔧 Developer Guide - Setup and development workflow
- 🆘 Troubleshooting - Common issues and solutions
- 📚 Full Documentation Index - Comprehensive documentation catalog
Quick Reference
- Requirements: Overview | Features | Use Cases
- Technical: API Reference | Zomes | Testing
- Community: Contributing | Discord | Website
🛠️ Development Commands
Running the Application
# (from project root) # Development Mode - Full Holochain app with dev features bun start # Start complete Holochain app (2 agents by default) AGENTS=3 bun start # Custom number of agents
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:unitfor autonomous execution.
🔧 Development Features System
The project uses atomic environment-based feature control through the DevFeatures Service, providing fine-grained control over development features without a master switch.
🎯 Atomic Feature Control
Each development feature is independently controlled via environment variables:
# Mock/Testing Utilities - Shows mock data buttons in forms for testing VITE_MOCK_BUTTONS_ENABLED=false # Network Peers Display - Shows all network peers in test mode VITE_PEERS_DISPLAY_ENABLED=false
🧑💻 Development Mode
- Purpose: Full development experience with debugging tools
- Command:
bun start(from project root) - Features: Mock data buttons, network peers display, development utilities
- Environment: Uses
.envwith atomic feature control - Service: DevFeatures Service provides centralized feature management
🏗️ Build Mode
The application supports production builds through Vite:
- Production Build:
bun run build(from ui directory)
Development features are controlled at runtime via the atomic environment variables in .env, not through different build configurations.
🏗️ Architecture Integration
The DevFeatures Service follows the 7-layer Effect-TS architecture:
- Service Layer:
DevFeaturesServicewith Context.Tag dependency injection - Schema Validation: Type-safe Effect Schema definitions
- Component Integration: Used across all form components
- Production Safety: Automatic removal via Vite tree-shaking
Usage Example:
import { shouldShowMockButtons } from '$lib/services/devFeatures.service'; // In components without Effect context if (shouldShowMockButtons()) { // Show mock data buttons }
For detailed information, see Architecture Overview and Developer Guide.
📁 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
- Discord: Join our community
- Website: hAppenings.community
- Contributing: See Contributing Guide
- License: Cryptographic Autonomy License v1.0
Pros
- Facilitates direct communication.
- Supports a variety of requests and offers.
- Encourages community engagement.
Cons
- Limited features in MVP phase.
- Dependency on Holochain ecosystem.
- Potential for spam or irrelevant posts.
Related Skills
pytorch
S“It's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”
agno
S“It promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”
nuxt-skills
S“It's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”
Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.
Copyright belongs to the original author happenings-community.
