Skip to content

Instantly share code, notes, and snippets.

View exonomyapp's full-sized avatar
💭
Decentralizing Life

Exonomy App exonomyapp

💭
Decentralizing Life
View GitHub Profile
@exonomyapp
exonomyapp / Vision - Scope and Functional Specification.md
Created December 22, 2024 17:26
Vision - Scope and Functional Specification

Vision and Scope Summary: Decentralized Peer-to-Peer Voucher Application

Vision

This application aims to provide a decentralized platform enabling users to create, exchange, and manage digital vouchers representing products or services they can offer. It is designed to function in environments with limited or no internet connectivity, relying on local-first principles, peer-to-peer (P2P) networking, and decentralized storage technologies like OrbitDB and IPFS. The overarching goal is to foster economic activity and community resilience in areas affected by extreme conditions, such as conflict zones, by offering a serverless, trust-driven ecosystem for secure, direct transactions.

Core Principles

  1. Local-First Design: All data, including vouchers and interactions, is stored locally on user devices, ensuring full autonomy and privacy. Pages and interfaces are rendered locally, reflecting user-specific content.
  2. Decentralization: The application avoids reliance on central serve
@exonomyapp
exonomyapp / Interview with qwen2.5-coder-32b about Exonomy app.md
Last active December 23, 2024 15:27
Interview with qwen2.5-coder:32b about Exonomy app

1. Purpose and Vision

  • What inspired you to build this application?
    • Are there specific problems in the current market that you are trying to solve?
    • What unique value does your application offer compared to existing solutions?

2. User Experience

  • How do you envision the user experience for creating and using vouchers?
    • Can you walk me through a typical user journey?
    • How intuitive will the interface be, especially since it's aimed at both mobile and desktop users?
@exonomyapp
exonomyapp / Outline for OrbitDB with Payments in Nuxt3 and TS - Ollama - qwen2.5-coder:32b.md
Created December 18, 2024 07:14
Outline for OrbitDB with Payments in Nuxt3 / TS - Ollama - qwen2.5-coder:32b

How would the code look to introduce OrbitDB to my Nuxt app using TS? Just provide a basic skeletal framework of the work ... ing code Certainly! To integrate OrbitDB into your Nuxt.js application using TypeScript, you'll need to follow these steps:

  1. Install Required Packages: First, ensure you have the necessary packages installed.

    npm install orbit-db @orbitdb/core ipfs-core
@exonomyapp
exonomyapp / Forever Free P2P Outsourced Search-as-a-Service.md
Last active December 13, 2024 13:33
Forever Free P2P Outsourced Search-as-a-Service

Forever Free P2P Outsourced Search-as-a-Service

Introduction to Algolia

Algolia is a search-as-a-service platform that provides a highly performant, flexible, and feature-rich solution for implementing search functionality in applications and websites. It allows developers to create custom search experiences with minimal effort, offering features like:

  1. Real-time Search: Instant, fast results as users type.
  2. Ranking & Relevance: Configurable ranking algorithms to prioritize the most relevant results.
  3. Faceted Search: Filters and facets for narrowing down search results dynamically.
  4. Autocomplete: Predictive text suggestions and search completion.
  5. Multilingual Support: Search functionality for multiple languages.
@exonomyapp
exonomyapp / Bluesky isn't Mastodon.md
Created November 22, 2024 07:14
Bluesky isn't Mastodon

Bluesky is a decentralized social networking service built on the Authenticated Transfer Protocol (AT Protocol). Here’s how it achieves decentralization:


1. Decentralized Infrastructure

Bluesky’s underlying AT Protocol enables users to interact with social networks independently of centralized servers. Instead of being controlled by a single organization, the protocol allows various servers (or instances) to host user data, similar to how email works. Users can choose their preferred server while remaining interoperable with the broader network.


2. Data Portability

@exonomyapp
exonomyapp / Kubernetes and options.md
Last active November 8, 2024 17:36
Kubernetes and options

There are several ways to run Kubernetes on Linux, depending on the use case—whether for local development, testing, or production. Here’s a breakdown of popular methods:

1. Local Development Solutions

  • Minikube: Sets up a single-node Kubernetes cluster locally. Minikube is great for development and testing, using a virtual machine or Docker as its environment.
  • K3s: A lightweight Kubernetes distribution from Rancher, designed for IoT, edge, and lightweight environments. It runs as a single binary and is suitable for both local development and resource-constrained environments.
  • Kind (Kubernetes in Docker): Runs Kubernetes clusters within Docker containers. Ideal for local development, testing, and CI environments.

2. Kubernetes Distributions for Production Environments

@exonomyapp
exonomyapp / Roles and Relationships Between Patroni and Bucardo.md
Last active October 15, 2024 10:52
The Distinctions and Interplays Between Patroni and Bucardo for Kubernetes PostgreSQL Clustering

The Distinctions and Interplays Between Patroni and Bucardo for Kubernetes Orchestrated PostgreSQL Clustering

Distinctions between Patroni and Bucardo

Patroni and Bucardo offer different approaches for achieving high availability (HA) and multi-master read/write setups in PostgreSQL, but they are designed for distinct use cases and have different architectures. Here’s a breakdown of what each offers in relation to your project.

What Patroni Offers:

  1. High Availability and Automatic Failover (HA) with a Single Leader (Primary-Replica Architecture):
  • Leader election: Patroni ensures there is always a single write node (the leader), and it automatically promotes a replica to a leader if the current one fails. This offers high availability but not true multi-master read/write capabilities.

Use Case Scenario: The Synergy of Vault and Consul for PostgreSQL Operations

The Problem: Dynamic Credentials and Service Discovery in a Complex Architecture

In a rapidly scaling, multi-service architecture, where services dynamically scale in and out, maintaining security and service discovery is a significant challenge. Imagine an e-commerce platform that uses PostgreSQL as the primary database backend. This platform experiences high traffic during flash sales or holiday seasons, requiring dynamic scaling of application services that communicate with PostgreSQL. Moreover, each new instance of an application service must securely authenticate and access the database without hardcoding credentials. Similarly, database administrators often need to perform seamless configuration changes or failover procedures for PostgreSQL clusters to ensure high availability and resilience.

The problem becomes complex because:

  1. Dynamic Credentials Management: The application services need secure access to P
@exonomyapp
exonomyapp / Secrets Management with Coolify.md
Created October 6, 2024 07:22
Secrets Management with Coolify

Managing secrets in Coolify for your production website involves securely storing sensitive information, such as API keys, tokens, and environment variables, in a way that your application can access them during deployment or runtime. Here's a step-by-step guide to manage secrets in Coolify:

1. Access Your Project's Configuration

  • Go to the Coolify dashboard.
  • Navigate to the "Projects" tab.
  • Select your production website project (in your case, exosystems_nuxt).

2. Navigate to Environment Variables

  • Inside your project settings, click on the "Environment Variables" section from the left sidebar.
  • This section allows you to add, update, and remove environment variables (including secrets) for your project.