Work in Progress - A decentralized application for discovering and sharing urban edible trees and recipes via the NOSTR protocol.
Urbanivore is a Web3 application that enables users to discover, document, and share urban edible trees and recipes through the decentralized NOSTR protocol. Built with modern web technologies and integrated with the UPlanet ecosystem, it provides a sovereign platform for urban foraging communities.
This project is built on the Web3 3x1/3 architecture model, which provides a balanced approach to decentralized applications:
- 1/3 Client-side: Rich user interface with local data processing
- 1/3 Server-side: API services and data validation
- 1/3 Blockchain/Protocol: NOSTR protocol for decentralized messaging and IPFS for content storage
For more details on this architecture, see: Paiement en ligne cΓ΄tΓ© serveur - Forum Duniter
- π³ Tree Discovery: Document edible trees with species, location, and accessibility
- π³ Recipe Sharing: Share recipes using urban foraged ingredients
- π Geolocation: Interactive maps with Leaflet.js for precise location tracking
- πΈ Media Support: Photo uploads with IPFS storage via uSPOT API
- π NOSTR Authentication: Connect with NOSTR browser extensions (Alby, nos2x, etc.)
- π‘ Decentralized Messaging: Share discoveries via NOSTR relays
- π·οΈ Rich Metadata: NIP-101 geographical tags and custom event types
- π Real-time Updates: Live message synchronization across relays
- π IPFS Storage: Automatic file uploads to user's uDRIVE
- π uSPOT API: Integration with local UPlanet API for file management
- π° G1/ZEN Economy: Display wallet balances from the Δ1 cryptocurrency
- π Decentralized Identity: Sovereign identity management via NOSTR
- HTML5/CSS3: Modern responsive design
- JavaScript (ES6+): Vanilla JS with modern features
- Leaflet.js: Interactive mapping
- NostrTools: NOSTR protocol implementation
- uSPOT API: Local UPlanet API for file operations
- NOSTR Relays: Decentralized messaging infrastructure
- IPFS: Distributed content storage
- Astroport.ONE: Complete infrastructure stack including:
- NOSTR relay server
- IPFS gateway
- uSPOT API server
- Δ1 cryptocurrency integration
-
Install Astroport.ONE (Required for uSPOT API and NOSTR relay):
bash <(curl -sL https://install.astroport.com)
This installs the complete UPlanet ecosystem including:
- NOSTR relay server
- IPFS gateway
- uSPOT API (54321.py)
- Δ1 cryptocurrency integration
For more information, visit: Astroport.ONE GitHub Repository
-
Add your Captain Account: Create 1st MULTIPASS + ZEN Card
## Run Captain Interface ~/.zen/Astroport.ONE/captain.sh ## Run Astroport Interface ~/.zen/Astroport.ONE/command.sh
-
Open UPlanet App : http://127.0.0.1:8080/ipns/copylaradio.com
-
Register new MULTIPASS : http://127.0.0.1:54321/g1
## from source de directory, run
ipfs add -rw *
## try resulting CID : http://127.0.0.1:8080/ipfs/$CID
The application automatically detects the uSPOT API URL based on your current IPFS gateway:
- Local Development:
http://127.0.0.1:54321
- IPFS Gateway: Automatically transforms
ipfs.
tou.
and port8080
to54321
Default relay configuration:
const DEFAULT_RELAYS = [
'wss://relay.copylaradio.com', // UPlanet ORIGIN relay
'ws://127.0.0.1:7777', // Local relay (via Astroport.ONE)
'wss://relay.damus.io',
'wss://nos.lol'
];
- Install NOSTR Extension: Ensure you have a NOSTR browser extension installed
- Connect: Click "π Se connecter avec NOSTR" in the interface
- Authorize: Approve the connection in your NOSTR extension
- Verify: The interface will test your NOSTR authentication with the uSPOT API
- Select Form: Choose "π³ Nouvel arbre" from the form toggle
- Fill Details:
- Species name (required)
- Description
- Harvest season
- Accessibility (public/private)
- Photo (optional)
- Set Location: Use GPS or manual coordinates
- Publish: Click "π€ Publier sur NOSTR"
- Select Form: Choose "π³ Nouvelle recette" from the form toggle
- Fill Details:
- Recipe title (required)
- Ingredients (required)
- Instructions (required)
- Difficulty level
- Preparation time
- Photo (optional)
- Set Location: Where the recipe was created/tested
- Publish: Click "π€ Publier sur NOSTR"
Images are automatically uploaded to your uDRIVE via the uSPOT API:
- NIP-42 Authentication: Secure uploads with your NOSTR identity
- IPFS Storage: Files stored on IPFS with CID tracking
- Automatic Integration: Images appear in your NOSTR messages
- NIP-42: Secure authentication via NOSTR events
- Private Keys: Never transmitted, handled by browser extensions
- Relay Verification: Automatic verification of authentication events
- Local Storage: User data stored in their uDRIVE
- IPFS Content: Immutable, censorship-resistant storage
- Decentralized Identity: No central authority required
Urbanivore is designed to work seamlessly with the UPlanet ecosystem:
/api/upload
: File uploads with NIP-42 authentication/api/test-nostr
: NOSTR authentication verification/check_balance
: G1/ZEN wallet balance checking/g1nostr
: NOSTR account creation
- G1 Balance: Display Δ1 cryptocurrency balances
- ZEN Calculation: Automatic ZEN calculation based on G1 balance
- Cooperative Model: Integration with CopyLaRadio SCIC cooperative
- NOSTR extension detection and connection
- Tree discovery form and publishing
- Recipe sharing form and publishing
- Interactive map with Leaflet.js
- uSPOT API integration
- File upload to IPFS via uSPOT
- G1/ZEN balance display
- NOSTR authentication testing
- Real-time message synchronization
- Responsive design
- Enhanced NOSTR event filtering
- Advanced search and discovery features
- Community features and moderation
- Mobile app development
- Integration with additional NOSTR clients
- Offline support with service workers
- Advanced mapping features (routing, clustering)
- Recipe rating and review system
- Seasonal harvest notifications
- Integration with local food banks
- Educational content and guides
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Test thoroughly with NOSTR extension and uSPOT API
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
- NOSTR Integration: Test with multiple NOSTR extensions
- uSPOT API: Verify file uploads and authentication
- IPFS: Ensure content is properly stored and accessible
- Responsive Design: Test on various screen sizes
- Astroport.ONE Team: For the comprehensive UPlanet ecosystem
- NOSTR Community: For the decentralized messaging protocol
- Δ1 Community: For the free currency and economic model
- CopyLaRadio Cooperative: For the cooperative infrastructure
- Project Repository: [GitHub Repository]
- Astroport.ONE: https://github.com/papiche/Astroport.ONE
- NOSTR Protocol: https://github.com/nostr-protocol/nostr
- Δ1 Currency: https://monnaie-libre.fr
- UPlanet ORIGIN: https://qo-op.com
π³ Happy foraging! Share your urban discoveries with the world via NOSTR! π³