diff --git a/.github/workflows/backend_build.yml b/.github/workflows/backend_build.yml
index 09f3a993..bb697925 100644
--- a/.github/workflows/backend_build.yml
+++ b/.github/workflows/backend_build.yml
@@ -92,10 +92,10 @@ jobs:
- name: Create env
run: |
cd backend/
- mv sample_env .env
- export DATABASE_URL=postgis://admin:password@localhost:5432/ai
- export RAMP_HOME="/home/runner/work/fAIr/fAIr"
- export TRAINING_WORKSPACE="/home/runner/work/fAIr/fAIr/backend/training"
+
+ export DATABASE_URL=$DATABASE_URL
+ export RAMP_HOME=$RAMP_HOME
+ export TRAINING_WORKSPACE=$TRAINING_WORKSPACE
- name: Run celery worker
run: |
@@ -120,6 +120,9 @@ jobs:
- name: Run migrations
env:
TESTING_TOKEN: ${{ secrets.TESTING_TOKEN }}
+ OSM_CLIENT_ID: ${{ secrets.OSM_CLIENT_ID}}
+ OSM_CLIENT_SECRET: ${{ secrets.OSM_CLIENT_SECRET}}
+ OSM_SECRET_KEY: ${{ secrets.OSM_SECRET_KEY}}
run: |
cd backend/
python manage.py makemigrations
diff --git a/.github/workflows/frontend_build.yml b/.github/workflows/frontend_build.yml
index 23b091c1..c9b1ec9a 100644
--- a/.github/workflows/frontend_build.yml
+++ b/.github/workflows/frontend_build.yml
@@ -2,43 +2,41 @@ name: Frontend Build
on:
push:
- branches: [ master ]
+ branches: [master]
paths:
- - 'frontend/**'
- - '.github/workflows/frontend_build.yml'
+ - "frontend/**"
+ - ".github/workflows/frontend_build.yml"
pull_request:
- branches: [ master ]
+ branches: [master]
paths:
- - 'frontend/**'
- - '.github/workflows/frontend_build.yml'
+ - "frontend/**"
+ - ".github/workflows/frontend_build.yml"
jobs:
Build_On_Ubuntu:
-
runs-on: ubuntu-latest
env:
CI: false
strategy:
matrix:
- node-version: [ 16.14.2, 16, 18, 20 ]
+ node-version: [16, 18, 20]
steps:
- - name: Checkout repository
- uses: actions/checkout@v4
-
- - name: Set up Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v4
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Install dependencies
- run: |
- cd frontend/
- npm install --legacy-peer-deps
-
- - name: Build
- run: |
- cd frontend/
- npm run build
-
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v4
+ with:
+ node-version: ${{ matrix.node-version }}
+
+ - name: Install dependencies
+ run: |
+ cd frontend/
+ npm install --legacy-peer-deps
+
+ - name: Build
+ run: |
+ cd frontend/
+ npm run build
diff --git a/backend/tests/test_endpoints.py b/backend/tests/test_endpoints.py
index a20a3f84..af60fa1a 100644
--- a/backend/tests/test_endpoints.py
+++ b/backend/tests/test_endpoints.py
@@ -132,6 +132,8 @@ def test_create_training(self):
"model": self.model.id,
}
res = self.client.post(
+ f"{API_BASE}/training/",
+ json.dumps(training_payload),
f"{API_BASE}/training/",
json.dumps(training_payload),
headers=json_type_header,
@@ -148,6 +150,8 @@ def test_create_training(self):
"model": self.model.id,
}
res = self.client.post(
+ f"{API_BASE}/training/",
+ json.dumps(training_payload),
f"{API_BASE}/training/",
json.dumps(training_payload),
headers=json_type_header,
@@ -168,6 +172,7 @@ def test_create_training(self):
json.dumps(training_payload),
headers=json_type_header,
)
+ print(res.json())
self.assertEqual(res.status_code, status.HTTP_201_CREATED)
# create another training for the same model
diff --git a/frontend/package.json b/frontend/package.json
index 4604544b..b0ab2404 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -2,9 +2,6 @@
"name": "fair",
"version": "0.1.0",
"private": true,
- "engines": {
- "node": "16.14.2"
- },
"dependencies": {
"@emotion/react": "^11.9.0",
"@emotion/styled": "^11.8.1",
@@ -18,6 +15,8 @@
"@mui/material": "^5.6.1",
"@mui/styles": "^5.12.0",
"@mui/x-data-grid": "^5.17.12",
+ "@mui/x-tree-view": "^7.11.0",
+ "@terraformer/wkt": "^2.2.1",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^12.1.4",
"@testing-library/user-event": "^13.5.0",
@@ -62,5 +61,8 @@
"last 1 firefox version",
"last 1 safari version"
]
+ },
+ "devDependencies": {
+ "ajv": "^7.2.4"
}
}
diff --git a/frontend/src/components/Layout/AIModels/AIModelEditor/FilesTree.js b/frontend/src/components/Layout/AIModels/AIModelEditor/FilesTree.js
index 48729c50..9ff8f7cf 100644
--- a/frontend/src/components/Layout/AIModels/AIModelEditor/FilesTree.js
+++ b/frontend/src/components/Layout/AIModels/AIModelEditor/FilesTree.js
@@ -1,5 +1,5 @@
import React, { useEffect, useState } from "react";
-import TreeView from "@mui/lab/TreeView";
+import { SimpleTreeView } from "@mui/x-tree-view";
import TreeItem from "@mui/lab/TreeItem";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import ExpandLessIcon from "@mui/icons-material/ExpandLess";
@@ -73,7 +73,7 @@ const FilesTree = (props) => {
)}
- }
defaultExpandIcon={}
@@ -126,7 +126,7 @@ const FilesTree = (props) => {
{/* */}
-
+
>
);
};
diff --git a/frontend/src/components/Layout/Home/Home.js b/frontend/src/components/Layout/Home/Home.js
index 4211cf6d..8dd5072c 100644
--- a/frontend/src/components/Layout/Home/Home.js
+++ b/frontend/src/components/Layout/Home/Home.js
@@ -26,23 +26,13 @@ const GetStarted = () => {
variant="body1"
style={{ color: "#3D3D3D", fontSize: "18px", marginBottom: "50px" }}
>
- fAIr is an open AI-assisted mapping service developed by the
- Humanitarian OpenStreetMap Team (HOT) that aims to improve the
- efficiency and accuracy of mapping efforts for humanitarian purposes.
- The service uses AI models, specifically computer vision techniques, to
- detect objects such as buildings, roads, waterways, and trees from
- satellite and UAV imagery. The name fAIr is derived from the following
- terms:
+ fAIr performs mapping in the same way as human mappers using HOT's Tasking Manager. It looks at UAV imagery and produces map data that can be added to OpenStreetMap (OSM). Tests show a 100% speedup compared to manual mapping. It uses Artificial Intelligence (AI) to accomplish this.
-
-
f: for freedom and free and open-source software
-
AI: for Artificial Intelligence
-
- r: for resilience and our responsibility for our communities and the
- role we play within humanitarian mapping
-
-
+ fAIr is developed by the Humanitarian OpenStreetMap Team (HOT) and all the software is free and open source.
+
+
+ Before fAIr is used, it needs to be fine-tuned by training on high quality map data for a small representative part of the geographical region where it is to be used.