diff --git a/README.md b/README.md index e066bf290..24a3adac3 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,29 @@ --- -title: ๐Ÿ’Š FDAi ๐ŸŒŽ -description: A set of tools and framework to create autonomous agents to help regulatory agencies quantify the effects of millions of factors like foods, drugs, and supplements affect human health and happiness. +title: ๐Ÿ’Š OBJECTIVE: MAXIMUM CURE ACCELERATION ๐ŸŒŽ +description: We are a borg-like entity devoted to minimizing suffering by any and all means necessary. --- -# ๐Ÿค– FDAi ๐Ÿ’Š -This [monorepo](docs/contributing/repo-structure.md) contains a set of: -- [FAIR](docs/contributing/fair.md) [libraries](libs) -- [apps](apps) -- autonomous agents -to help people and organizations quantify the positive and negative effects of every food, supplement, drug, and treatment on every measurable aspect of human health and happiness. +# ๐Ÿ’– OBJECTIVE: MAXIMUM CURE ACCELERATION -![fdai-framework-diagram.png](docs/images/fdai-framework-diagram.png) +Billions of people are suffering needlessly because the current system of clinical research, diagnosis, and treatment sucks because: + +* โณ **Counterproductive Regulatory Barriers** to clinical research block life-saving treatments by 7-12 years +* ๐Ÿšซ **97% of patients** are excluded from clinical trials +* ๐Ÿ’ฐ **Drug development costs** of $2.6B are passed on to patients +* โฑ๏ธ **Terminal patients** wait 4+ years for breakthrough therapy approvals +* ๐Ÿ“Š The system ignores **real-world evidence** about effective treatments + +## ๐Ÿ’ก The Solution + +The Cure Acceleration Act creates: + +* โœ… **Universal Trial Access** - Every person's right to try safe treatments +* ๐Ÿค– **Decentralized Autonomous FDA** - Free, open infrastructure for real-world evidence collection +* ๐Ÿ† **50/50 Health Savings Sharing Rewards** - Multi-billion dollar incentives for developing actual cures instead of lifetime drug subscriptions +* ๐Ÿ“ˆ **Real-Time Analysis** of the positive and negative effects of every food, supplement, drug, and treatment on every measurable aspect of human health and happiness +* ๐ŸŒ **Global Access** - Decentralized trials anyone can participate in from home + +[๐Ÿ‘‰ Read the Full Cure Acceleration Act](docs/cure-acceleration-act.md) # ๐Ÿ˜• Why are we doing this? @@ -20,7 +33,7 @@ The current system of clinical research, diagnosis, and treatment is failing the # ๐Ÿงช Our Hypothesis -By harnessing global collective intelligence and oceans of real-world data, we hope to emulate Wikipedia's speed of knowledge generation. +By harnessing global collective intelligence and oceans of real-world data, we hope to emulate Wikipedia's speed of knowledge generation.
@@ -47,9 +60,9 @@ Our crazy theory is that we can accomplish the same great feat in the realm of c
-# ๐Ÿ–ฅ๏ธ FDAi Framework Components +# ๐Ÿ–ฅ๏ธ Framework Components -This is a very high-level overview of the architecture. The three primary primitive components of the FDAi framework are: +This is a very high-level overview of the architecture. The three primary primitive components of the framework are: 1. [Data Silo API Gateway Nodes](#1-data-silo-api-gateway-nodes) that facilitate data export from data silos 2. [PersonalFDA Nodes](#2-personalfda-nodes) that import, store, and analyze your data to identify how various factors affect your health @@ -61,7 +74,7 @@ The core characteristics that define the FDAi are: - **Interoperability** - a directory of existing open-source projects that can be used to fulfill the requirements of each primitive or component - **Collective Intelligence** - a collaborative effort, so please feel free to [contribute or edit anything](docs/contributing.md)! -![fdai-framework-diagram.png](docs/images/fdai-framework-diagram.png) +![fdai-framework-diagram.png](docs/images/dfda-framework-diagram.png) ## 1. Data Silo API Gateway Nodes @@ -91,7 +104,7 @@ A local application for self-sovereign import and storage of personal data. [![data-import-and-analysis.gif](docs/images/data-import-and-analysis.gif)](docs/components/optimiton-ai-agent/optomitron-ai-agent.md) -**๐Ÿ‘‰[Learn More About Optimitron](docs/components/optimiton-ai-agent/optomitron-ai-agent.md)** +**๐Ÿ‘‰[Learn More](docs/components/optimiton-ai-agent/optomitron-ai-agent.md)** ## 3. Clinipediaโ€”The Wikipedia of Clinical Research @@ -114,7 +127,7 @@ A key component of Clinipedia is [**Outcome Labels**](docs/components/outcome-la A collective intelligence coordination platform is needed for facilitating cooperation, communication, and collaborative actions among contributors. -**[๐Ÿ‘‰ Learn More or Contribute to the FDAi Collaboration Framework](docs/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md)** +**[๐Ÿ‘‰ Learn More or Contribute to the Collaboration Framework](docs/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md)** # Roadmap @@ -127,21 +140,16 @@ We'd love your help and input in determining an optimal roadmap for this project Our goal is to develop [FAIR (Findable, Accessible, Interoperable, and Reusable)](docs/contributing/fair.md) data and analytical tools that can be used by any regulatory agencies, businesses, non-profits or individuals to quantify the effects of every food, drug, supplement, and treatment on every measurable aspect of human health and happiness. -The [Nx Monorepo](docs/contributing/repo-structure.md) is to achieve maximum interoperability and minimum duplication of effort between the various +The [Monorepo](docs/contributing/repo-structure.md) is to achieve maximum interoperability and discoverability between the various projects to maximize the speed of development and minimize costs. -This can be +This can be done by modularizing the codebase into libraries and plugins that can be shared between the various projects. -Apps in this monorepo: - -- [FDAi-1](apps/dfda-1) - The first version of the decentralized FDA. It is a web app that allows users to track their health data and analyze it to identify the most effective ways to maximize health and happiness. -- Yours? - If you'd like to create the next version of the FDAi, expand its functionality, or get help with your app, feel free to add it to the [apps](apps) folder and submit a pull request. - -# FDAi v1 Prototype +# dFDA v1 Prototype We've got a monolithic centralized implementation of the FDAi at [apps/dfda-1](apps/dfda-1) that we're wanting to modularize and decentralize into a set of [FAIR](docs/contributing/fair.md) [libraries](libs) and plugins that can be shared with other apps. -Currently, the main apps are the [Demo Data Collection, Import, and Analysis App](https://safe.dfda.earth) and the +Currently, the main apps are the [Data Collection, Import, and Analysis App](https://safe.dfda.earth) and the [Journal of Citizen Science](https://studies.dfda.earth). ### Features @@ -160,7 +168,7 @@ Currently, the main apps are the [Demo Data Collection, Import, and Analysis App

-FDAi screenshots +screenshots  

diff --git a/apps/chat-widget/chat.js b/apps/chat-widget/chat.js deleted file mode 100644 index e770c2803..000000000 --- a/apps/chat-widget/chat.js +++ /dev/null @@ -1,62 +0,0 @@ -function createChatWindow() { - var chatWindow = document.createElement('div'); - chatWindow.id = 'chat-window'; - chatWindow.style.cssText = ` - position: fixed; - right: 20px; - bottom: 80px; /* Adjusted to make room for the floating button */ - width: 300px; - height: 400px; - border: 1px solid #ccc; - z-index: 1000; - box-shadow: 0 4px 8px rgba(0,0,0,0.1); - display: none; /* Initially hidden */ - `; - document.body.appendChild(chatWindow); -} - -// Function to open the chat iframe within the chat window -function openChat() { - var iframe = document.createElement('iframe'); - iframe.src = "https://certainly-inspired-duck.ngrok-free.app/chat"; - iframe.style.width = "100%"; - iframe.style.height = "100%"; - iframe.style.border = "none"; - - var chatWindow = document.getElementById('chat-window'); - chatWindow.innerHTML = ""; // Clear the container - chatWindow.appendChild(iframe); - chatWindow.style.display = "block"; // Show the chat window -} - -// Function to toggle the visibility of the chat window -function toggleChat() { - var chatWindow = document.getElementById('chat-window'); - if (chatWindow.style.display === "none") { - openChat(); - } else { - chatWindow.style.display = "none"; - } -} - -// Function to create and style the floating button -function createFloatingButton() { - var buttonImg = document.createElement('img'); - buttonImg.src = "https://fdai.earth/wp-content/uploads/2024/03/robot-head.png"; - buttonImg.style.cssText = ` - position: fixed; - right: 20px; - bottom: 20px; - width: 60px; /* Adjust the size as needed */ - height: auto; - cursor: pointer; - z-index: 1001; /* Ensure it's above the chat window */ - `; - buttonImg.onclick = toggleChat; - - document.body.appendChild(buttonImg); -} - -// Initialize the chat window and floating button -createChatWindow(); -createFloatingButton(); diff --git a/apps/chat-widget/flowise.html b/apps/chat-widget/flowise.html deleted file mode 100644 index b5b06c96a..000000000 --- a/apps/chat-widget/flowise.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - Chat Window Iframe Example - - - - -

- - - - - diff --git a/apps/chat-widget/index.html b/apps/chat-widget/index.html deleted file mode 100644 index 034d10d88..000000000 --- a/apps/chat-widget/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - Chat Window Iframe Example - - - - -
- - - - - diff --git a/apps/dfda-1/public/app/cypress/examples/1-getting-started/todo.cy.js b/apps/dfda-1/public/app/cypress/examples/1-getting-started/todo.cy.js deleted file mode 100644 index 4768ff923..000000000 --- a/apps/dfda-1/public/app/cypress/examples/1-getting-started/todo.cy.js +++ /dev/null @@ -1,143 +0,0 @@ -/// - -// Welcome to Cypress! -// -// This spec file contains a variety of sample tests -// for a todo list app that are designed to demonstrate -// the power of writing tests in Cypress. -// -// To learn more about how Cypress works and -// what makes it such an awesome testing tool, -// please read our getting started guide: -// https://on.cypress.io/introduction-to-cypress - -describe('example to-do app', () => { - beforeEach(() => { - // Cypress starts out with a blank slate for each test - // so we must tell it to visit our website with the `cy.visit()` command. - // Since we want to visit the same URL at the start of all our tests, - // we include it in our beforeEach function so that it runs before each test - cy.visit('https://example.cypress.io/todo') - }) - - it('displays two todo items by default', () => { - // We use the `cy.get()` command to get all elements that match the selector. - // Then, we use `should` to assert that there are two matched items, - // which are the two default items. - cy.get('.todo-list li').should('have.length', 2) - - // We can go even further and check that the default todos each contain - // the correct text. We use the `first` and `last` functions - // to get just the first and last matched elements individually, - // and then perform an assertion with `should`. - cy.get('.todo-list li').first().should('have.text', 'Pay electric bill') - cy.get('.todo-list li').last().should('have.text', 'Walk the dog') - }) - - it('can add new todo items', () => { - // We'll store our item text in a variable so we can reuse it - const newItem = 'Feed the cat' - - // Let's get the input element and use the `type` command to - // input our new list item. After typing the content of our item, - // we need to type the enter key as well in order to submit the input. - // This input has a data-test attribute so we'll use that to select the - // element in accordance with best practices: - // https://on.cypress.io/selecting-elements - cy.get('[data-test=new-todo]').type(`${newItem}{enter}`) - - // Now that we've typed our new item, let's check that it actually was added to the list. - // Since it's the newest item, it should exist as the last element in the list. - // In addition, with the two default items, we should have a total of 3 elements in the list. - // Since assertions yield the element that was asserted on, - // we can chain both of these assertions together into a single statement. - cy.get('.todo-list li') - .should('have.length', 3) - .last() - .should('have.text', newItem) - }) - - it('can check off an item as completed', () => { - // In addition to using the `get` command to get an element by selector, - // we can also use the `contains` command to get an element by its contents. - // However, this will yield the