eltociear / fractal-interface

Open DAO framework that unleashes a new wave of efficient, composable and secure DAOs

Home Page:https://app.fractalframework.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fractal Interface

Local Development

Clone the repository

$ git clone {repository url}

Change to correct Node.js version

$ nvm use

Install the dependencies

$ npm install

Build Subgraph artifacts

$ npm run graphql:build # For UNIX

Running development environment

$ npm run dev

Testing - Playwright

Setup - Docker

  • For more information about Docker installation and setup for local development: Docker README

Running Docker

Once Docker has been installed and set up, you can run the containers with the following command:

$ docker compose up --build

Running Tests

To run all tests in all 3 browser types (Chromium, Firefox, Webkit) use the following command in a new terminal within the fractal-interface project:

$ npx playwright test
# or, use the predefined npm run script which does the same thing
$ npm run tests

To define particular tests to run use the following command:

$ npx playwright test tests/nameOfTest.spec.ts

To run tests in a particular browser type use the following append/flag: --project=browserType

Example:

$ npx playwright test --project=chromium

Test results for each test on each browser type will be output into the playwright-report (HTML) and test-results(screenshots and videos) folders.

Deployment Notes

Both the "dev" and "prod" environments of this app are currently deployed via both Netlify and IPFS (see the Github workflow files).

The "dev" environment tracks the develop branch, and the "prod" environment tracks the master branch.

On both hosting platforms, both the "dev" and "prod" environments are where custom environment variables are configured. For Netlify, it's in the site's build settings in the Netlify project. For the IPFS build, it's in Github's "secrets", and exposed to the build scripts in .github/workflows/release-ipfs-[dev|prod].yaml.

So at any given time, there are effectively four builds out there, and they are publicly accessible and privately configurable as follows:

  1. dev site via Netlify
  2. dev site via IPFS
  3. prod site via Netlify
  4. prod site via IPFS

TL;DR: When making changes to either "dev" or "prod" configurations, perform updates both on Netlify and in Github Secrets / Workflow

About

Open DAO framework that unleashes a new wave of efficient, composable and secure DAOs

https://app.fractalframework.xyz

License:MIT License


Languages

Language:TypeScript 99.2%Language:Python 0.4%Language:Shell 0.2%Language:Dockerfile 0.1%Language:JavaScript 0.1%