From c1e048ad8097e2e6d05a1338983c08be82bc7a92 Mon Sep 17 00:00:00 2001 From: kaimcfarlane Date: Tue, 3 Dec 2024 15:42:47 -0500 Subject: [PATCH 1/5] Added code to pull from C++ backend --- crowTest/.idea/vcs.xml | 6 ++++++ my-app/server/server.js | 7 +++++-- my-app/src/App.js | 11 ++++++++++- my-app/src/components/Home.jsx | 6 +++--- my-app/src/components/PathPage.jsx | 29 +++++++++++++---------------- my-app/src/components/Search.jsx | 20 ++++++++++++++++++-- 6 files changed, 55 insertions(+), 24 deletions(-) create mode 100644 crowTest/.idea/vcs.xml diff --git a/crowTest/.idea/vcs.xml b/crowTest/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/crowTest/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/my-app/server/server.js b/my-app/server/server.js index a1ef9c7..4c1d955 100644 --- a/my-app/server/server.js +++ b/my-app/server/server.js @@ -22,9 +22,12 @@ let exampleData = [ }, ]; +const naem = "j"; + // GET endpoint -app.get("/api/data", (req, res) => { - res.json(exampleData); // Send the data as JSON +app.get(`/process?lat=${naem}&lng=${naem}&price=${naem}`, (req, res) => { +// res.json(exampleData); // Send the data as JSON +// var long = exampleData.path[] }); // Start the server diff --git a/my-app/src/App.js b/my-app/src/App.js index 1769b40..8165ed3 100644 --- a/my-app/src/App.js +++ b/my-app/src/App.js @@ -16,6 +16,15 @@ function App() { } ); + const [optPropData, setOptPropData] = useState({ + long: 0, + lat: 0, + name: 0, + djkTime: 0, + AStrTime: 0, + PrevNodes: [[24.5, 34.5],[23.4,34.5],[24.6, 56.4],[34.2,53.6],[35.4, 64.3]] + }); + const getAlgoData = async () => { try { const response = await axios.get("http://localhost:5000/api/data"); @@ -33,7 +42,7 @@ function App() { return ( <> - + ); } diff --git a/my-app/src/components/Home.jsx b/my-app/src/components/Home.jsx index efa9ced..7ba6411 100644 --- a/my-app/src/components/Home.jsx +++ b/my-app/src/components/Home.jsx @@ -5,14 +5,14 @@ import Header from "./Header" import HomeScreen from '../imgs/homepage_img.jpg' import PathPage from './PathPage' -export default function Home({curLocation, setCurLocation}) { +export default function Home({curLocation, setCurLocation, optPropData, setOptPropData}) { const [pathCurIdx, setPathCurIdx] = useState(0); console.log(curLocation); return (
- - + +
) } diff --git a/my-app/src/components/PathPage.jsx b/my-app/src/components/PathPage.jsx index 50017bf..a046563 100644 --- a/my-app/src/components/PathPage.jsx +++ b/my-app/src/components/PathPage.jsx @@ -1,28 +1,25 @@ import React, { useState, useEffect } from 'react' import MapWithRoute from "./Map.jsx" -export default function PathPage({curIdx, setCurIdx, curLocation}) { - - const [optPropData, setOptPropData] = useState({ - long: 0, - lat: 0, - name: 0, - djkTime: 0, - AStrTime: 0, - PrevNodes: [[24.5, 34.5],[23.4,34.5],[24.6, 56.4],[34.2,53.6],[35.4, 64.3]] - }); - +export default function PathPage({curIdx, setCurIdx, curLocation, optPropData, setOptPropData}) { - + console.log("PATH PAGHE RENDERED") // Manage interval for updating curIdx + const [hasMounted, setHasMounted] = useState(false); useEffect(() => { + if (!hasMounted) { + setHasMounted(true); // Mark the component as "mounted" + return; // Skip the effect on initial load + } console.log("Currect idx is: " + curIdx); + console.log("Lenght is: " + optPropData.PrevNodes.length); if (curIdx >= optPropData.PrevNodes.length) return; // Stop interval if all nodes are processed const intervalId = setTimeout(() => { + setCurIdx((prevIdx) => { - if (prevIdx < optPropData.PrevNodes.length - 1) { + if (prevIdx < optPropData.PrevNodes.length) { return prevIdx + 1; } else { clearInterval(intervalId); // Clear the interval when reaching the end @@ -32,7 +29,7 @@ export default function PathPage({curIdx, setCurIdx, curLocation}) { }, 3000); return () => clearInterval(intervalId); // Cleanup on component unmount - }, [curIdx, optPropData.PrevNodes.length]); + }, [curIdx, optPropData]); return ( <> @@ -48,7 +45,7 @@ export default function PathPage({curIdx, setCurIdx, curLocation}) { {/* Render MapWithRoute for the current node */} - {curIdx < optPropData.PrevNodes.length-1 && ( + {curIdx < optPropData.PrevNodes.length && ( )} {/* Render final location map once the interval finishes */} - {curIdx === optPropData.PrevNodes.length-1 && ( + {curIdx === optPropData.PrevNodes.length && ( { + const findPathButton = async () => { setPathCurIdx(0); + // Should put laoding wheel here + const response = await fetch(`http://0.0.0.0:8008/process?lat=${curLocation.lat}&lng=${curLocation.long}&price=${curLocation.target}`); + // A star gives three nodes with end being target + const data = await response.json(); + console.log(data) + console.log("Data on line 178 should be above this line"); + setOptPropData((prevState) => ({ + ...prevState, + long: data.path[data.path.length-1].longitude, + lat: data.path[data.path.length-1].latitude, + djkTime: 0, // Waiting from Josh JSON + AstrTime: 0, // Waiting from Josh JSON + target: 10.00, // Waiting from Josh JSON + PrevNodes: [[data.path[0].longitude,data.path[0].latitude],[data.path[1].longitude,data.path[1].latitude]], + })); + console.log(optPropData); document.getElementById('pathModal').showModal() } From 6561f45be23d1bcb0ff883cf2a7422e37afa67b9 Mon Sep 17 00:00:00 2001 From: kaimcfarlane Date: Tue, 3 Dec 2024 16:01:42 -0500 Subject: [PATCH 2/5] Added scroll wheel: --- my-app/src/components/Search.jsx | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/my-app/src/components/Search.jsx b/my-app/src/components/Search.jsx index 33d22fc..b6f8480 100644 --- a/my-app/src/components/Search.jsx +++ b/my-app/src/components/Search.jsx @@ -1,7 +1,7 @@ -import React from 'react' +import React, { useState } from 'react' export default function Search({setPathCurIdx, curLocation, setCurLocation, optPropData, setOptPropData}) { - + const [isLoading, setLoading] = useState(false); // When submit button clicked setCurlocation Info function setLongLat() { @@ -170,6 +170,7 @@ export default function Search({setPathCurIdx, curLocation, setCurLocation, optP } const findPathButton = async () => { + setLoading(true); setPathCurIdx(0); // Should put laoding wheel here const response = await fetch(`http://0.0.0.0:8008/process?lat=${curLocation.lat}&lng=${curLocation.long}&price=${curLocation.target}`); @@ -177,6 +178,7 @@ export default function Search({setPathCurIdx, curLocation, setCurLocation, optP const data = await response.json(); console.log(data) console.log("Data on line 178 should be above this line"); + setLoading(false) setOptPropData((prevState) => ({ ...prevState, long: data.path[data.path.length-1].longitude, @@ -190,11 +192,21 @@ export default function Search({setPathCurIdx, curLocation, setCurLocation, optP document.getElementById('pathModal').showModal() } + const callLoadingScreen = () => { + return
+ +
+ } + console.log(curLocation); // For some reason removing labe causes err, may have to use desginated Daisy UI component return ( -
+ <> + {isLoading ? + callLoadingScreen() + : +
+ } + ) } From bbc6f551d1b647c65d5d142c71c9cac853b732cb Mon Sep 17 00:00:00 2001 From: kaimcfarlane Date: Tue, 3 Dec 2024 16:02:57 -0500 Subject: [PATCH 3/5] Changed color spinning wheel --- my-app/src/components/Search.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/my-app/src/components/Search.jsx b/my-app/src/components/Search.jsx index b6f8480..71f1fcb 100644 --- a/my-app/src/components/Search.jsx +++ b/my-app/src/components/Search.jsx @@ -194,7 +194,7 @@ export default function Search({setPathCurIdx, curLocation, setCurLocation, optP const callLoadingScreen = () => { return
- +
} From 7645bcb587bb325d3a327e289275b7e2cae4de8f Mon Sep 17 00:00:00 2001 From: kaimcfarlane Date: Tue, 3 Dec 2024 16:37:22 -0500 Subject: [PATCH 4/5] Added connection to c++ database --- my-app/src/App.js | 11 +---------- my-app/src/components/PathPage.jsx | 8 ++++---- my-app/src/components/Search.jsx | 2 +- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/my-app/src/App.js b/my-app/src/App.js index 8165ed3..2bff164 100644 --- a/my-app/src/App.js +++ b/my-app/src/App.js @@ -22,19 +22,10 @@ function App() { name: 0, djkTime: 0, AStrTime: 0, + // First is lat and second is long PrevNodes: [[24.5, 34.5],[23.4,34.5],[24.6, 56.4],[34.2,53.6],[35.4, 64.3]] }); - const getAlgoData = async () => { - try { - const response = await axios.get("http://localhost:5000/api/data"); - setCurLocation(response.data); - } - catch (err) { - console.err("Failed fethcing c++ data from algorithms"); - } - } - // Uncomment below and start server when c++ code ready with CROW // useEffect(() => { // getAlgoData(); diff --git a/my-app/src/components/PathPage.jsx b/my-app/src/components/PathPage.jsx index a046563..03f238f 100644 --- a/my-app/src/components/PathPage.jsx +++ b/my-app/src/components/PathPage.jsx @@ -47,10 +47,10 @@ export default function PathPage({curIdx, setCurIdx, curLocation, optPropData, s {/* Render MapWithRoute for the current node */} {curIdx < optPropData.PrevNodes.length && ( )} {/* Render final location map once the interval finishes */} diff --git a/my-app/src/components/Search.jsx b/my-app/src/components/Search.jsx index 71f1fcb..f7c2e7f 100644 --- a/my-app/src/components/Search.jsx +++ b/my-app/src/components/Search.jsx @@ -186,7 +186,7 @@ export default function Search({setPathCurIdx, curLocation, setCurLocation, optP djkTime: 0, // Waiting from Josh JSON AstrTime: 0, // Waiting from Josh JSON target: 10.00, // Waiting from Josh JSON - PrevNodes: [[data.path[0].longitude,data.path[0].latitude],[data.path[1].longitude,data.path[1].latitude]], + PrevNodes: [[data.path[0].latitude, data.path[0].longitude],[data.path[1].latitude, data.path[1].longitude]], })); console.log(optPropData); document.getElementById('pathModal').showModal() From 37eb8d156f5457046aaf05271b83e2353afff22d Mon Sep 17 00:00:00 2001 From: kaimcfarlane Date: Wed, 4 Dec 2024 08:12:15 -0500 Subject: [PATCH 5/5] Added rest of changes' --- ClionImplementation/.idea/workspace.xml | 108 +- ClionImplementation/Dijkstras.cpp | 2 +- .../reply/cache-v2-18f9978d827c7d70fb71.json | 1387 ----------------- .../cmakeFiles-v1-0697c1a16fee4bc441ee.json | 1260 --------------- .../codemodel-v2-2d0bea7e366589c9ca88.json | 60 - ...irectory-.-Debug-f5ebdc15457944623624.json | 14 - ...-untitled2-Debug-c19cb61fa7047321a34f.json | 176 --- .../toolchains-v1-bb98b21159e1e8803146.json | 93 -- .../cmake-build-debug/CMakeCache.txt | 374 +---- .../CMakeFiles/3.29.6/CMakeCCompiler.cmake | 80 - .../CMakeFiles/3.29.6/CMakeCXXCompiler.cmake | 92 -- .../3.29.6/CMakeDetermineCompilerABI_C.bin | Bin 17000 -> 0 bytes .../3.29.6/CMakeDetermineCompilerABI_CXX.bin | Bin 16984 -> 0 bytes .../CMakeFiles/3.29.6/CMakeSystem.cmake | 15 - .../3.29.6/CompilerIdC/CMakeCCompilerId.c | 895 ----------- .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 878 ----------- .../CMakeFiles/CMakeConfigureLog.yaml | 441 ------ .../CMakeFiles/TargetDirectories.txt | 3 - .../CMakeFiles/clion-Debug-log.txt | 27 +- .../CMakeFiles/clion-environment.txt | Bin 285 -> 323 bytes .../cmake-build-debug/CMakeFiles/rules.ninja | 64 - .../.cmake/api/v1/query/cache-v2 | 0 .../.cmake/api/v1/query/cmakeFiles-v1 | 0 .../.cmake/api/v1/query/codemodel-v2 | 0 .../.cmake/api/v1/query/toolchains-v1 | 0 .../cmake-build-default/CMakeCache.txt | 87 ++ .../CMakeFiles/clion-Default-log.txt | 10 + .../CMakeFiles/clion-environment.txt | Bin 0 -> 360 bytes .../CMakeFiles/cmake.check_cache | 1 + crowTest/.idea/.name | 1 + ...son => cache-v2-6d5ad9e044c0cd63749a.json} | 68 +- .../cmakeFiles-v1-2021d06b9478dcd39e32.json | 213 +++ .../cmakeFiles-v1-6001be96e2764243a37b.json | 178 --- ...=> codemodel-v2-c131e6a990d3e268c5ab.json} | 6 +- .../reply/index-2024-11-26T21-41-35-0835.json | 108 -- .../reply/index-2024-12-02T23-23-04-0753.json | 26 +- ...rget-crow-Debug-fd56bb8cee34d1ec9018.json} | 6 +- ...> toolchains-v1-e5b4780659c9faa33ab2.json} | 30 +- crowTest/cmake-build-debug/CMakeCache.txt | 48 +- .../CMakeFiles/3.29.6/CMakeCCompiler.cmake | 16 +- .../CMakeFiles/3.29.6/CMakeCXXCompiler.cmake | 18 +- .../3.29.6/CMakeDetermineCompilerABI_C.bin | Bin 17000 -> 16999 bytes .../3.29.6/CMakeDetermineCompilerABI_CXX.bin | Bin 16984 -> 16983 bytes .../CMakeFiles/3.29.6/CMakeSystem.cmake | 10 +- .../CMakeFiles/CMakeConfigureLog.yaml | 420 ++--- .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/Makefile.cmake | 62 + .../cmake-build-debug/CMakeFiles/Makefile2 | 112 ++ .../CMakeFiles/TargetDirectories.txt | 6 +- .../CMakeFiles/clion-Debug-log.txt | 4 +- .../CMakeFiles/clion-environment.txt | Bin 285 -> 227 bytes .../CMakeFiles/crow.dir/DependInfo.cmake | 23 + .../CMakeFiles/crow.dir/build.make | 110 ++ .../CMakeFiles/crow.dir/cmake_clean.cmake | 11 + .../CMakeFiles/crow.dir/compiler_depend.make | 2 + .../CMakeFiles/crow.dir/compiler_depend.ts | 2 + .../CMakeFiles/crow.dir/depend.make | 2 + .../CMakeFiles/crow.dir/flags.make | 12 + .../CMakeFiles/crow.dir/link.txt | 1 + .../CMakeFiles/crow.dir/main.cpp.o.d | 1290 +++++++++++++++ .../CMakeFiles/crow.dir/progress.make | 3 + .../CMakeFiles/progress.marks | 1 + .../cmake-build-debug/CMakeFiles/rules.ninja | 64 - crowTest/cmake-build-debug/Makefile | 181 +++ .../Testing/Temporary/LastTest.log | 4 +- .../cmake-build-debug/cmake_install.cmake | 4 +- crowTest/cmake-build-debug/crow | Bin 2888920 -> 3668993 bytes 67 files changed, 2546 insertions(+), 6579 deletions(-) delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/cache-v2-18f9978d827c7d70fb71.json delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-0697c1a16fee4bc441ee.json delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-2d0bea7e366589c9ca88.json delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/target-untitled2-Debug-c19cb61fa7047321a34f.json delete mode 100644 ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-bb98b21159e1e8803146.json delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CMakeCCompiler.cmake delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CMakeCXXCompiler.cmake delete mode 100755 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CMakeDetermineCompilerABI_C.bin delete mode 100755 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CMakeDetermineCompilerABI_CXX.bin delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CMakeSystem.cmake delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CompilerIdC/CMakeCCompilerId.c delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/3.29.6/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/CMakeConfigureLog.yaml delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/TargetDirectories.txt delete mode 100644 ClionImplementation/cmake-build-debug/CMakeFiles/rules.ninja create mode 100644 ClionImplementation/cmake-build-default/.cmake/api/v1/query/cache-v2 create mode 100644 ClionImplementation/cmake-build-default/.cmake/api/v1/query/cmakeFiles-v1 create mode 100644 ClionImplementation/cmake-build-default/.cmake/api/v1/query/codemodel-v2 create mode 100644 ClionImplementation/cmake-build-default/.cmake/api/v1/query/toolchains-v1 create mode 100644 ClionImplementation/cmake-build-default/CMakeCache.txt create mode 100644 ClionImplementation/cmake-build-default/CMakeFiles/clion-Default-log.txt create mode 100644 ClionImplementation/cmake-build-default/CMakeFiles/clion-environment.txt create mode 100644 ClionImplementation/cmake-build-default/CMakeFiles/cmake.check_cache create mode 100644 crowTest/.idea/.name rename crowTest/cmake-build-debug/.cmake/api/v1/reply/{cache-v2-052b12fa3a9e4ff68e40.json => cache-v2-6d5ad9e044c0cd63749a.json} (93%) create mode 100644 crowTest/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-2021d06b9478dcd39e32.json delete mode 100644 crowTest/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-6001be96e2764243a37b.json rename crowTest/cmake-build-debug/.cmake/api/v1/reply/{codemodel-v2-741c9c2f88f4c8c5fd13.json => codemodel-v2-c131e6a990d3e268c5ab.json} (80%) delete mode 100644 crowTest/cmake-build-debug/.cmake/api/v1/reply/index-2024-11-26T21-41-35-0835.json rename ClionImplementation/cmake-build-debug/.cmake/api/v1/reply/index-2024-12-01T18-24-10-0360.json => crowTest/cmake-build-debug/.cmake/api/v1/reply/index-2024-12-02T23-23-04-0753.json (54%) rename crowTest/cmake-build-debug/.cmake/api/v1/reply/{target-crow-Debug-c05a8a5e9736692ee5db.json => target-crow-Debug-fd56bb8cee34d1ec9018.json} (88%) rename crowTest/cmake-build-debug/.cmake/api/v1/reply/{toolchains-v1-bb98b21159e1e8803146.json => toolchains-v1-e5b4780659c9faa33ab2.json} (53%) create mode 100644 crowTest/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 crowTest/cmake-build-debug/CMakeFiles/Makefile.cmake create mode 100644 crowTest/cmake-build-debug/CMakeFiles/Makefile2 create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/DependInfo.cmake create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/build.make create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/cmake_clean.cmake create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/compiler_depend.make create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/compiler_depend.ts create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/depend.make create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/flags.make create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/link.txt create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/main.cpp.o.d create mode 100644 crowTest/cmake-build-debug/CMakeFiles/crow.dir/progress.make create mode 100644 crowTest/cmake-build-debug/CMakeFiles/progress.marks delete mode 100644 crowTest/cmake-build-debug/CMakeFiles/rules.ninja create mode 100644 crowTest/cmake-build-debug/Makefile diff --git a/ClionImplementation/.idea/workspace.xml b/ClionImplementation/.idea/workspace.xml index 7070de8..2aaefbc 100644 --- a/ClionImplementation/.idea/workspace.xml +++ b/ClionImplementation/.idea/workspace.xml @@ -13,9 +13,7 @@